Added masking

This commit is contained in:
2024-08-15 21:48:41 +02:00
parent 7e41f8108d
commit 5f26cb9180
11 changed files with 344 additions and 32 deletions

View File

@@ -7,6 +7,7 @@ using EonaCat.Logger.Test.Web;
using EonaCat.Web.RateLimiter;
using EonaCat.Web.RateLimiter.Endpoints.Extensions;
using EonaCat.Web.Tracer.Extensions;
using EonaCat.Web.Tracer.Models;
var builder = WebApplication.CreateBuilder(args);
int onLogCounter = 0;
@@ -17,6 +18,7 @@ Logger logger = new Logger();
logger.UseLocalTime = true;
logger.MaxLogType = ELogType.TRACE;
logger.LoggerSettings.OnLog += LoggerSettings_OnLog;
logger.LoggerSettings.UseMask = true;
void LoggerSettings_OnLog(EonaCatLogMessage message)
{
@@ -29,6 +31,7 @@ var options = new FileLoggerOptions();
options.MaxRolloverFiles = 5;
//options.FileSizeLimit = 1 * 1024 * 1024 / 4;
options.UseLocalTime = true;
options.UseMask = true;
builder.Logging.AddEonaCatFileLogger(fileLoggerOptions: options, filenamePrefix: "web");
builder.Services.AddRazorPages();
@@ -94,12 +97,7 @@ if (!app.Environment.IsDevelopment())
//{
// await httpContext.Response.WriteAsync("THIS IS MY CUSTOM RATE LIMIT MESSAGE");
//}
WebTracer.OnLog += WebTracer_OnLog;
void WebTracer_OnLog(object? sender, string e)
{
Console.WriteLine(e);
}
//app.UseWebTracer();
app.UseHttpsRedirection();
@@ -135,6 +133,7 @@ void RunLoggingExceptionTests()
}
}
await Task.Run(RunMaskTest).ConfigureAwait(false);
await Task.Run(RunWebLoggerTestsAsync).ConfigureAwait(false);
await Task.Run(RunWebLoggingTests).ConfigureAwait(false);
await Task.Run(RunLoggingTestsAsync).ConfigureAwait(false);
@@ -183,6 +182,29 @@ async void RunWebLoggingTests()
}
}
async void RunMaskTest()
{
if (!Directory.Exists(logger.LogFolder))
{
Directory.CreateDirectory(logger.LogFolder);
}
for (var i = 0; i < 9000000; i++)
{
var message = $"mask-test {i}";
app.Logger.LogInformation("password: test");
app.Logger.LogInformation("JWT Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c");
app.Logger.LogInformation("JWT Token2: eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.iOeNU4dAFFeBwNj6qdhdvm-IvDQrTa6R22lQVJVuWJxorJfeQww5Nwsra0PjaOYhAMj9jNMO5YLmud8U7iQ5gJK2zYyepeSuXhfSi8yjFZfRiSkelqSkU19I-Ja8aQBDbqXf2SAWA8mHF8VS3F08rgEaLCyv98fLLH4vSvsJGf6ueZSLKDVXz24rZRXGWtYYk_OYYTVgR1cg0BLCsuCvqZvHleImJKiWmtS0-CymMO4MMjCy_FIl6I56NqLE9C87tUVpo1mT-kbg5cHDD8I7MjCW5Iii5dethB4Vid3mZ6emKjVYgXrtkOQ-JyGMh6fnQxEFN1ft33GX2eRHluK9eg");
using (var file = new StreamWriter(Path.Combine(logger.LogFolder, "testmask.log"), true))
{
file.WriteAsync(message);
}
Console.WriteLine($"Masked: {i}");
Task.Delay(1);
}
}
async Task RunLoggingTestsAsync()
{
var loggerSettings = new LoggerSettings();