This commit is contained in:
2023-07-13 12:01:34 +02:00
parent bfb2b8a999
commit 6f158901a2
3 changed files with 38 additions and 13 deletions

View File

@@ -37,7 +37,7 @@ namespace EonaCat.Logger.EonaCatCoreLogger.Internal
throw new ArgumentOutOfRangeException(nameof(loggerOptions.FlushPeriod), $"{nameof(loggerOptions.FlushPeriod)} must be longer than zero."); throw new ArgumentOutOfRangeException(nameof(loggerOptions.FlushPeriod), $"{nameof(loggerOptions.FlushPeriod)} must be longer than zero.");
} }
if (options is FileLoggerOptions fileLoggerOptions) if (options.Value is FileLoggerOptions fileLoggerOptions)
{ {
UseLocalTime = fileLoggerOptions.UseLocalTime; UseLocalTime = fileLoggerOptions.UseLocalTime;
} }

View File

@@ -6,17 +6,9 @@ namespace EonaCat.Logger.Test.Web
{ {
public static class Logger public static class Logger
{ {
private static readonly LogManager LogManager = new LogManager(new LoggerSettings public static ELogType MaxLogType { get; set; }
{ public static bool UseLocalTime { get; set; }
Id = "EonaCatDnsLogger", private static LogManager LogManager;
MaxLogType = ELogType.TRACE,
FileLoggerOptions =
{
LogDirectory = "Logs",
FileSizeLimit = 20_000_000, // 20 MB
}
});
public static string LogFolder => "Logs"; public static string LogFolder => "Logs";
public static string CurrentLogFile => LogManager.CurrentLogFile; public static string CurrentLogFile => LogManager.CurrentLogFile;
public static bool IsDisabled { get; set; } public static bool IsDisabled { get; set; }
@@ -108,5 +100,22 @@ namespace EonaCat.Logger.Test.Web
LogManager.Write(exception, module: message, writeToConsole: writeToConsole); LogManager.Write(exception, module: message, writeToConsole: writeToConsole);
} }
public static void Configure()
{
var loggerSettings = new LoggerSettings
{
Id = "EonaCatDnsLogger",
MaxLogType = ELogType.TRACE,
UseLocalTime = UseLocalTime,
FileLoggerOptions =
{
LogDirectory = "Logs",
FileSizeLimit = 20_000_000, // 20 MB,
UseLocalTime = UseLocalTime,
}
};
LogManager = new LogManager(loggerSettings);
}
} }
} }

View File

@@ -13,6 +13,7 @@ var builder = WebApplication.CreateBuilder(args);
FileLoggerOptions options = new FileLoggerOptions(); FileLoggerOptions options = new FileLoggerOptions();
options.MaxRolloverFiles = 5; options.MaxRolloverFiles = 5;
options.FileSizeLimit = 1 * 1024 * 1024 / 4; options.FileSizeLimit = 1 * 1024 * 1024 / 4;
options.UseLocalTime = true;
builder.Logging.AddEonaCatFileLogger(fileLoggerOptions: options, filenamePrefix:"web"); builder.Logging.AddEonaCatFileLogger(fileLoggerOptions: options, filenamePrefix:"web");
builder.Services.AddRazorPages(); builder.Services.AddRazorPages();
@@ -59,6 +60,10 @@ builder.Services.AddMemoryCache();
var app = builder.Build(); var app = builder.Build();
Logger.UseLocalTime = true;
Logger.MaxLogType = ELogType.TRACE;
Logger.Configure();
// Configure the HTTP request pipeline. // Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment()) if (!app.Environment.IsDevelopment())
{ {
@@ -96,6 +101,9 @@ app.MapRazorPages().RateLimit();
void RunLoggingExceptionTests() void RunLoggingExceptionTests()
{ {
var loggerSettings = new LoggerSettings(); var loggerSettings = new LoggerSettings();
loggerSettings.FileLoggerOptions.UseLocalTime = true;
loggerSettings.UseLocalTime = true;
loggerSettings.MaxLogType = ELogType.TRACE;
var logger = new LogManager(loggerSettings); var logger = new LogManager(loggerSettings);
for (int i = 0; i < 10; i++) for (int i = 0; i < 10; i++)
@@ -143,10 +151,15 @@ void RunWebLoggingExceptionTests()
void RunWebLoggingTests() void RunWebLoggingTests()
{ {
if (!Directory.Exists(Logger.LogFolder))
{
Directory.CreateDirectory(Logger.LogFolder);
}
for (int i = 0; i < 9000000; i++) for (int i = 0; i < 9000000; i++)
{ {
app.Logger.LogInformation($"web-test {i}"); app.Logger.LogInformation($"web-test {i}");
File.AppendAllText("test.log", $"WebLogged: {i}{Environment.NewLine}"); File.AppendAllText(Path.Combine(Logger.LogFolder, "test.log"), $"WebLogged: {i}{Environment.NewLine}");
Console.WriteLine($"WebLogged: {i}"); Console.WriteLine($"WebLogged: {i}");
Task.Delay(1); Task.Delay(1);
} }
@@ -155,6 +168,9 @@ void RunWebLoggingTests()
void RunLoggingTests() void RunLoggingTests()
{ {
var loggerSettings = new LoggerSettings(); var loggerSettings = new LoggerSettings();
loggerSettings.UseLocalTime = true;
loggerSettings.FileLoggerOptions.UseLocalTime = true;
loggerSettings.MaxLogType = ELogType.TRACE;
loggerSettings.FileLoggerOptions.FileSizeLimit = 1024 * 1024 * 1; loggerSettings.FileLoggerOptions.FileSizeLimit = 1024 * 1024 * 1;
loggerSettings.FileLoggerOptions.FileNamePrefix = "AllTypes"; loggerSettings.FileLoggerOptions.FileNamePrefix = "AllTypes";
loggerSettings.FileLoggerOptions.MaxRolloverFiles = 5; loggerSettings.FileLoggerOptions.MaxRolloverFiles = 5;