DotNetDupe
4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Toggle main menu visibility
Loading...
Searching...
No Matches
LoggerConfiguration.h
Go to the documentation of this file.
1
#pragma once
2
#include "
Common.h
"
3
#include "
System/String.h
"
4
#include "
Extensions/Logging/ILogger.h
"
5
6
namespace
DotNetDupe
{
7
namespace
Extensions
{
8
namespace
Logging
{
9
12
struct
FileRolloverConfig
{
14
bool
EnableRollover
=
false
;
16
long
long
MaxFileSizeInBytes
= 5 * 1024 * 1024;
18
int
MaxBackupFiles
= 3;
19
};
20
26
struct
LoggerConfiguration
{
28
LogLevel
MinLevel
=
LogLevel::Information
;
30
bool
IsJsonFormat
=
false
;
31
33
DotNetDupe::System::String
PlainTextFormat
=
"{Timestamp} [{Level}] [{Category}] {Message}"
;
34
36
DotNetDupe::System::String
TimestampFormat
=
"%Y-%m-%d %H:%M:%S"
;
37
39
DotNetDupe::System::String
FilePath
;
41
FileRolloverConfig
Rollover
;
42
46
DOTNETDUPE_API
static
LoggerConfiguration
LoadFromFile
(
const
DotNetDupe::System::String
& filePath);
47
51
DOTNETDUPE_API
static
LoggerConfiguration
LoadFromJson
(
const
DotNetDupe::System::String
& jsonContent);
52
};
53
57
DOTNETDUPE_API
LogLevel
ParseLogLevel
(
const
DotNetDupe::System::String
& str);
58
59
}
60
}
61
}
Common.h
Defines common cross-platform macros, export decorators, and fundamental types.
DOTNETDUPE_API
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Definition
Common.h:20
ILogger.h
String.h
High-performance UTF-8 / UTF-16 string manipulation class mirroring .NET System.String.
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::Logging::LogLevel::Information
@ Information
Logs that track the general flow of the application.
Definition
ILogger.h:21
DotNetDupe::Extensions::Logging::ParseLogLevel
LogLevel ParseLogLevel(const DotNetDupe::System::String &str)
Parses a case-insensitive string into a corresponding LogLevel enumeration value.
Definition
LoggerConfiguration.cpp:160
DotNetDupe::Extensions
Definition
IServiceCollection.h:8
DotNetDupe
Definition
IServiceCollection.h:7
DotNetDupe::Extensions::Logging::FileRolloverConfig
Configuration settings for file rotation and archival. Microsoft.Extensions.Logging.
Definition
LoggerConfiguration.h:12
DotNetDupe::Extensions::Logging::FileRolloverConfig::MaxFileSizeInBytes
long long MaxFileSizeInBytes
Maximum size in bytes of the primary log file before rotation (default: 5 MB).
Definition
LoggerConfiguration.h:16
DotNetDupe::Extensions::Logging::FileRolloverConfig::EnableRollover
bool EnableRollover
Indicates whether file rotation is enabled when file size threshold is reached.
Definition
LoggerConfiguration.h:14
DotNetDupe::Extensions::Logging::FileRolloverConfig::MaxBackupFiles
int MaxBackupFiles
Maximum number of rotated backup log files to retain (default: 3).
Definition
LoggerConfiguration.h:18
DotNetDupe::Extensions::Logging::LoggerConfiguration
Encapsulates logging system configuration options.
Definition
LoggerConfiguration.h:26
DotNetDupe::Extensions::Logging::LoggerConfiguration::LoadFromFile
static LoggerConfiguration LoadFromFile(const DotNetDupe::System::String &filePath)
Loads logging configuration options from a JSON file.
Definition
LoggerConfiguration.cpp:183
DotNetDupe::Extensions::Logging::LoggerConfiguration::TimestampFormat
DotNetDupe::System::String TimestampFormat
Timestamp formatting template using strftime syntax (e.g. "%Y-%m-%d %H:%M:%S").
Definition
LoggerConfiguration.h:36
DotNetDupe::Extensions::Logging::LoggerConfiguration::FilePath
DotNetDupe::System::String FilePath
Destination file path when file logging is configured.
Definition
LoggerConfiguration.h:39
DotNetDupe::Extensions::Logging::LoggerConfiguration::IsJsonFormat
bool IsJsonFormat
Specifies whether to serialize log messages as structured JSON objects.
Definition
LoggerConfiguration.h:30
DotNetDupe::Extensions::Logging::LoggerConfiguration::PlainTextFormat
DotNetDupe::System::String PlainTextFormat
Plain text formatting template (e.g. "{Timestamp} [{Level}] [{Category}] {Message}...
Definition
LoggerConfiguration.h:33
DotNetDupe::Extensions::Logging::LoggerConfiguration::Rollover
FileRolloverConfig Rollover
File rotation settings.
Definition
LoggerConfiguration.h:41
DotNetDupe::Extensions::Logging::LoggerConfiguration::LoadFromJson
static LoggerConfiguration LoadFromJson(const DotNetDupe::System::String &jsonContent)
Loads logging configuration options from a raw JSON string.
Definition
LoggerConfiguration.cpp:194
DotNetDupe::Extensions::Logging::LoggerConfiguration::MinLevel
LogLevel MinLevel
Minimum log level required for a message to be recorded.
Definition
LoggerConfiguration.h:28
Include
Extensions
Logging
LoggerConfiguration.h
Generated by
1.18.0