From 6d1acee8df50da4bdfdbf3bd2ca514d05f8f1340 Mon Sep 17 00:00:00 2001 From: estrogen elf <87099578+BlossomiShymae@users.noreply.github.com> Date: Sat, 24 May 2025 13:26:38 -0500 Subject: [PATCH] refactor: logging --- Needlework.Net/Logger.cs | 31 ++++++++++++++++++++++++++++ Needlework.Net/Needlework.Net.csproj | 8 ++++++- Needlework.Net/Program.cs | 11 ++-------- 3 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 Needlework.Net/Logger.cs diff --git a/Needlework.Net/Logger.cs b/Needlework.Net/Logger.cs new file mode 100644 index 0000000..ccb97a1 --- /dev/null +++ b/Needlework.Net/Logger.cs @@ -0,0 +1,31 @@ +using Microsoft.Extensions.Logging; +using Serilog; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace Needlework.Net +{ + public static class Logger + { + public static void Setup(ILoggingBuilder builder) + { + var logger = new LoggerConfiguration() + .MinimumLevel.Debug() + .WriteTo.File("Logs/debug-.log", rollingInterval: RollingInterval.Day, shared: true) + .CreateLogger(); + logger.Debug("NeedleworkDotNet version: {Version}", Assembly.GetEntryAssembly()?.GetName().Version?.ToString() ?? "0.0.0.0"); + logger.Debug("OS description: {Description}", System.Runtime.InteropServices.RuntimeInformation.OSDescription); + builder.AddSerilog(logger); + } + + public static void LogFatal(UnhandledExceptionEventArgs e) + { + File.WriteAllText($"Logs/fatal-{DateTime.Now:HHmmssfff}.log", e.ExceptionObject.ToString()); + } + } +} diff --git a/Needlework.Net/Needlework.Net.csproj b/Needlework.Net/Needlework.Net.csproj index b0ce08f..9f29c33 100644 --- a/Needlework.Net/Needlework.Net.csproj +++ b/Needlework.Net/Needlework.Net.csproj @@ -47,6 +47,13 @@ + + + + + + + @@ -69,6 +76,5 @@ - diff --git a/Needlework.Net/Program.cs b/Needlework.Net/Program.cs index af77628..7fd161a 100644 --- a/Needlework.Net/Program.cs +++ b/Needlework.Net/Program.cs @@ -51,14 +51,7 @@ class Program builder.AddSingleton(); builder.AddSingletonsFromAssemblies(); builder.AddHttpClient(); - - var logger = new LoggerConfiguration() - .MinimumLevel.Debug() - .WriteTo.File("Logs/NeedleworkDotNet.log", rollingInterval: RollingInterval.Day, shared: true) - .CreateLogger(); - logger.Debug("NeedleworkDotNet version: {Version}", Assembly.GetEntryAssembly()?.GetName().Version?.ToString() ?? "0.0.0.0"); - logger.Debug("OS description: {Description}", System.Runtime.InteropServices.RuntimeInformation.OSDescription); - builder.AddLogging(builder => builder.AddSerilog(logger)); + builder.AddLogging(Logger.Setup); var services = builder.BuildServiceProvider(); return services; @@ -66,6 +59,6 @@ class Program private static void Program_UnhandledException(object sender, UnhandledExceptionEventArgs e) { - File.WriteAllText($"errorlog-{DateTime.Now:HHmmssfff}", e.ExceptionObject.ToString()); + Logger.LogFatal(e); } }