Skip to content

Commit 617f2a1

Browse files
committed
Add flushing log content to disk
Initially the file sink of Serilog didn't have the ability to flush to disk at specified intervals. This was brough in a newer version (see serilog/serilog-sinks-file#20).
1 parent f5172f5 commit 617f2a1

File tree

4 files changed

+17
-7
lines changed

4 files changed

+17
-7
lines changed

src/Tfs.Webhooks/Startup.cs

+12-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ namespace Tfs.WebHooks
99
using Owin;
1010
using Serilog;
1111
using Services;
12+
using System;
1213
using System.Configuration;
1314
using System.Web.Http;
1415
using System.Web.Http.ExceptionHandling;
@@ -36,9 +37,19 @@ private static void ConfigureSerilog()
3637
var environment = ConfigurationManager.AppSettings["Environment"];
3738
var outputTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{RequestId}] [{Level:u3}] {Message}{NewLine}{Exception}";
3839
var filePath = ConfigurationManager.AppSettings["LogFilePath"];
40+
41+
var flushToDiskIntervalInSeconds = 10;
42+
if (int.TryParse(ConfigurationManager.AppSettings["LogFileFlushToDiskIntervalInSeconds"], out int configuredFlushToDiskIntervalInSeconds))
43+
{
44+
flushToDiskIntervalInSeconds = configuredFlushToDiskIntervalInSeconds;
45+
}
46+
3947
var loggerConfiguration = new LoggerConfiguration()
4048
.Enrich.FromLogContext()
41-
.WriteTo.File(filePath, outputTemplate: outputTemplate);
49+
.WriteTo.File(
50+
filePath,
51+
outputTemplate: outputTemplate,
52+
flushToDiskInterval: TimeSpan.FromSeconds(flushToDiskIntervalInSeconds));
4253

4354
Log.Logger = loggerConfiguration.CreateLogger();
4455
}

src/Tfs.Webhooks/Tfs.Webhooks.csproj

+2-4
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,10 @@
161161
<Private>True</Private>
162162
</Reference>
163163
<Reference Include="Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
164-
<HintPath>..\packages\Serilog.2.1.0\lib\net45\Serilog.dll</HintPath>
165-
<Private>True</Private>
164+
<HintPath>..\packages\Serilog.2.3.0\lib\net45\Serilog.dll</HintPath>
166165
</Reference>
167166
<Reference Include="Serilog.Sinks.File, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
168-
<HintPath>..\packages\Serilog.Sinks.File.2.2.0\lib\net45\Serilog.Sinks.File.dll</HintPath>
169-
<Private>True</Private>
167+
<HintPath>..\packages\Serilog.Sinks.File.3.2.0\lib\net45\Serilog.Sinks.File.dll</HintPath>
170168
</Reference>
171169
<Reference Include="Serilog.Sinks.Trace, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
172170
<HintPath>..\packages\Serilog.Sinks.Trace.2.0.0\lib\net45\Serilog.Sinks.Trace.dll</HintPath>

src/Tfs.Webhooks/Web.config

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<add key="MS_WebHookDisableHttpsCheck" value="true" />
1212

1313
<add key="LogFilePath" value="Tfs.WebHooks.log" />
14+
<add key="LogFileFlushToDiskIntervalInSeconds" value="10" />
1415
<add key="TeamProjectCollectionUri" value="https://tfs/DefaultCollection" />
1516
<add key="PullRequestTargetBranchName" value="refs/heads/master" />
1617
<add key="PullRequestStatus" value="completed" />

src/Tfs.Webhooks/packages.config

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net452" />
2222
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />
2323
<package id="Owin" version="1.0" targetFramework="net452" />
24-
<package id="Serilog" version="2.1.0" targetFramework="net452" />
25-
<package id="Serilog.Sinks.File" version="2.2.0" targetFramework="net452" />
24+
<package id="Serilog" version="2.3.0" targetFramework="net452" />
25+
<package id="Serilog.Sinks.File" version="3.2.0" targetFramework="net452" />
2626
<package id="Serilog.Sinks.Trace" version="2.0.0" targetFramework="net452" />
2727
<package id="System.IdentityModel.Tokens.Jwt" version="5.0.0" targetFramework="net452" />
2828
<package id="WindowsAzure.ServiceBus" version="3.3.2" targetFramework="net452" />

0 commit comments

Comments
 (0)