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);
}
}