DotNetDupe
4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Toggle main menu visibility
Loading...
Searching...
No Matches
Logger.h
Go to the documentation of this file.
1
#pragma once
2
#include "
Extensions/Logging/ILogger.h
"
3
4
namespace
DotNetDupe
{
5
namespace
Extensions
{
6
namespace
Logging
{
7
12
template
<
typename
T>
13
class
Logger
:
public
ILoggerOf
<T> {
14
private
:
15
DotNetDupe::System::SmartPointer<ILogger>
m_pLogger;
16
17
public
:
20
Logger
(
const
DotNetDupe::System::SmartPointer<ILogger>
& pLogger) : m_pLogger(pLogger) {}
21
23
~Logger
()
override
=
default
;
24
28
void
Log
(
LogLevel
logLevel,
const
DotNetDupe::System::String
& message)
override
{
29
if
(m_pLogger) {
30
m_pLogger->Log(logLevel, message);
31
}
32
}
33
38
void
Log
(
LogLevel
logLevel,
const
DotNetDupe::System::String
& message,
39
const
DotNetDupe::System::Collections::Generic::Dictionary<DotNetDupe::System::String, DotNetDupe::System::String>
& properties)
override
{
40
if
(m_pLogger) {
41
m_pLogger->Log(logLevel, message, properties);
42
}
43
}
44
48
bool
IsEnabled
(
LogLevel
logLevel)
const override
{
49
return
m_pLogger ? m_pLogger->IsEnabled(logLevel) :
false
;
50
}
51
};
52
53
}
54
}
55
}
ILogger.h
DotNetDupe::Extensions::Logging::ILoggerOf
A generic interface for logging where the category name is derived from the specified type name.
Definition
ILogger.h:63
DotNetDupe::Extensions::Logging::Logger::~Logger
~Logger() override=default
Virtual destructor for polymorphic cleanup.
DotNetDupe::Extensions::Logging::Logger::Log
void Log(LogLevel logLevel, const DotNetDupe::System::String &message) override
Writes a log entry at the specified log level.
Definition
Logger.h:28
DotNetDupe::Extensions::Logging::Logger::IsEnabled
bool IsEnabled(LogLevel logLevel) const override
Checks if the given logLevel is enabled.
Definition
Logger.h:48
DotNetDupe::Extensions::Logging::Logger::Log
void Log(LogLevel logLevel, const DotNetDupe::System::String &message, const DotNetDupe::System::Collections::Generic::Dictionary< DotNetDupe::System::String, DotNetDupe::System::String > &properties) override
Writes a structured log entry with key-value properties.
Definition
Logger.h:38
DotNetDupe::Extensions::Logging::Logger::Logger
Logger(const DotNetDupe::System::SmartPointer< ILogger > &pLogger)
Initializes a new instance of Logger<T> wrapping the given ILogger.
Definition
Logger.h:20
DotNetDupe::System::Collections::Generic::Dictionary
Represents a collection of keys and values.
Definition
Dictionary.h:66
DotNetDupe::System::SmartPointer
A unified smart pointer that supports both unique and shared ownership semantics.
Definition
SmartPointer.h:72
DotNetDupe::System::String
Represents text as a sequence of UTF-8 code units with culture-invariant operations.
Definition
String.h:74
DotNetDupe::Extensions::Logging
Definition
AggregateLogger.h:8
DotNetDupe::Extensions::Logging::LogLevel
LogLevel
Defines logging severity levels.
Definition
ILogger.h:15
DotNetDupe::Extensions
Definition
IServiceCollection.h:8
DotNetDupe
Definition
IServiceCollection.h:7
Include
Extensions
Logging
Logger.h
Generated by
1.18.0