Browse Source

Merge pull request #438 from Bond-009/logasync

Improve logging performance
Joshua M. Boniface 6 years ago
parent
commit
a74996f06b

+ 1 - 0
Jellyfin.Server/Jellyfin.Server.csproj

@@ -25,6 +25,7 @@
     <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.2.0" />
     <PackageReference Include="Serilog.AspNetCore" Version="2.1.1" />
     <PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
+    <PackageReference Include="Serilog.Sinks.Async" Version="1.3.0" />
     <PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
     <PackageReference Include="Serilog.Sinks.File" Version="4.0.0" />
     <PackageReference Include="SkiaSharp" Version="1.68.0" />

+ 2 - 2
Jellyfin.Server/Program.cs

@@ -214,10 +214,10 @@ namespace Jellyfin.Server
             {
                 Serilog.Log.Logger = new LoggerConfiguration()
                     .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss}] [{Level:u3}] {Message:lj}{NewLine}{Exception}")
-                    .WriteTo.File(
+                    .WriteTo.Async(x => x.File(
                         Path.Combine(appPaths.LogDirectoryPath, "log_.log"),
                         rollingInterval: RollingInterval.Day,
-                        outputTemplate: "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz}] [{Level:u3}] {Message}{NewLine}{Exception}")
+                        outputTemplate: "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz}] [{Level:u3}] {Message}{NewLine}{Exception}"))
                     .Enrich.FromLogContext()
                     .CreateLogger();
 

+ 14 - 5
Jellyfin.Server/Resources/Configuration/logging.json

@@ -2,16 +2,25 @@
     "Serilog": {
         "MinimumLevel": "Information",
         "WriteTo": [
-            { "Name": "Console",
+            {
+                "Name": "Console",
                 "Args": {
                     "outputTemplate": "[{Timestamp:HH:mm:ss}] [{Level:u3}] {Message:lj}{NewLine}{Exception}"
                 }
             },
-            { "Name": "File",
+            {
+                "Name": "Async",
                 "Args": {
-                    "path": "%JELLYFIN_LOG_DIR%//log_.log",
-                    "rollingInterval": "Day",
-                    "outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz}] [{Level:u3}] {Message}{NewLine}{Exception}"
+                    "configure": [
+                        {
+                            "Name": "File",
+                            "Args": {
+                                "path": "%JELLYFIN_LOG_DIR%//log_.log",
+                                "rollingInterval": "Day",
+                                "outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz}] [{Level:u3}] {Message}{NewLine}{Exception}"
+                            }
+                        }
+                    ]
                 }
             }
         ]