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.");
}
if (options is FileLoggerOptions fileLoggerOptions)
if (options.Value is FileLoggerOptions fileLoggerOptions)
{
UseLocalTime = fileLoggerOptions.UseLocalTime;
}

View File

@@ -6,17 +6,9 @@ namespace EonaCat.Logger.Test.Web
{
public static class Logger
{
private static readonly LogManager LogManager = new LogManager(new LoggerSettings
{
Id = "EonaCatDnsLogger",
MaxLogType = ELogType.TRACE,
FileLoggerOptions =
{
LogDirectory = "Logs",
FileSizeLimit = 20_000_000, // 20 MB
}
});
public static ELogType MaxLogType { get; set; }
public static bool UseLocalTime { get; set; }
private static LogManager LogManager;
public static string LogFolder => "Logs";
public static string CurrentLogFile => LogManager.CurrentLogFile;
public static bool IsDisabled { get; set; }
@@ -108,5 +100,22 @@ namespace EonaCat.Logger.Test.Web
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();
options.MaxRolloverFiles = 5;
options.FileSizeLimit = 1 * 1024 * 1024 / 4;
options.UseLocalTime = true;
builder.Logging.AddEonaCatFileLogger(fileLoggerOptions: options, filenamePrefix:"web");
builder.Services.AddRazorPages();
@@ -59,6 +60,10 @@ builder.Services.AddMemoryCache();
var app = builder.Build();
Logger.UseLocalTime = true;
Logger.MaxLogType = ELogType.TRACE;
Logger.Configure();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
@@ -96,6 +101,9 @@ app.MapRazorPages().RateLimit();
void RunLoggingExceptionTests()
{
var loggerSettings = new LoggerSettings();
loggerSettings.FileLoggerOptions.UseLocalTime = true;
loggerSettings.UseLocalTime = true;
loggerSettings.MaxLogType = ELogType.TRACE;
var logger = new LogManager(loggerSettings);
for (int i = 0; i < 10; i++)
@@ -143,10 +151,15 @@ void RunWebLoggingExceptionTests()
void RunWebLoggingTests()
{
if (!Directory.Exists(Logger.LogFolder))
{
Directory.CreateDirectory(Logger.LogFolder);
}
for (int i = 0; i < 9000000; 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}");
Task.Delay(1);
}
@@ -155,6 +168,9 @@ void RunWebLoggingTests()
void RunLoggingTests()
{
var loggerSettings = new LoggerSettings();
loggerSettings.UseLocalTime = true;
loggerSettings.FileLoggerOptions.UseLocalTime = true;
loggerSettings.MaxLogType = ELogType.TRACE;
loggerSettings.FileLoggerOptions.FileSizeLimit = 1024 * 1024 * 1;
loggerSettings.FileLoggerOptions.FileNamePrefix = "AllTypes";
loggerSettings.FileLoggerOptions.MaxRolloverFiles = 5;