Skip to content

Commit 0507eb3

Browse files
author
Sergey Komisarchik
authored
Merge branch 'dev' into formatter-exceptions
2 parents ef999bd + c695457 commit 0507eb3

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

serilog-extensions-logging.sln.DotSettings

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@
88
<s:Boolean x:Key="/Default/UserDictionary/Words/=Loggable/@EntryIndexedValue">True</s:Boolean>
99
<s:Boolean x:Key="/Default/UserDictionary/Words/=Nonscalar/@EntryIndexedValue">True</s:Boolean>
1010
<s:Boolean x:Key="/Default/UserDictionary/Words/=Serilog/@EntryIndexedValue">True</s:Boolean>
11-
<s:Boolean x:Key="/Default/UserDictionary/Words/=sobj/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
11+
<s:Boolean x:Key="/Default/UserDictionary/Words/=sobj/@EntryIndexedValue">True</s:Boolean>
12+
<s:Boolean x:Key="/Default/UserDictionary/Words/=Stringification/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

src/Serilog.Extensions.Logging/Extensions/Logging/SerilogLogger.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using Serilog.Events;
1010
using FrameworkLogger = Microsoft.Extensions.Logging.ILogger;
1111
using System.Reflection;
12+
using Serilog.Debugging;
1213

1314
namespace Serilog.Extensions.Logging
1415
{
@@ -59,6 +60,18 @@ public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Except
5960
return;
6061
}
6162

63+
try
64+
{
65+
Write(level, eventId, state, exception, formatter);
66+
}
67+
catch (Exception ex)
68+
{
69+
SelfLog.WriteLine($"Failed to write event through {typeof(SerilogLogger).Name}: {ex}");
70+
}
71+
}
72+
73+
void Write<TState>(LogEventLevel level, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
74+
{
6275
var logger = _logger;
6376
string messageTemplate = null;
6477

test/Serilog.Extensions.Logging.Tests/SerilogLoggerTests.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ public void StringifyScopeProperty()
167167
{
168168
var (logger, sink) = SetUp(LogLevel.Trace);
169169

170-
using (logger.BeginScope("{$values}", new int[] { 1, 2, 3, 4 }))
170+
using (logger.BeginScope("{$values}", new [] { 1, 2, 3, 4 }))
171171
{
172172
logger.Log(LogLevel.Information, 0, TestMessage, null, null);
173173
}
@@ -272,6 +272,7 @@ public void CarriesEventIdIfNonzero()
272272
public void WhenDisposeIsFalseProvidedLoggerIsNotDisposed()
273273
{
274274
var logger = new DisposeTrackingLogger();
275+
// ReSharper disable once RedundantArgumentDefaultValue
275276
var provider = new SerilogLoggerProvider(logger, false);
276277
provider.Dispose();
277278
Assert.False(logger.IsDisposed);
@@ -439,5 +440,15 @@ public void LowAndHighNumberedEventIdsAreMapped(int id)
439440
var scalar = Assert.IsType<ScalarValue>(idValue);
440441
Assert.Equal(id, scalar.Value);
441442
}
443+
444+
[Fact]
445+
public void MismatchedMessageTemplateParameterCountIsHandled()
446+
{
447+
var (logger, sink) = SetUp(LogLevel.Trace);
448+
449+
logger.LogInformation("Some test message with {Two} {Properties}", "OneProperty");
450+
451+
Assert.Equal(0, sink.Writes.Count);
452+
}
442453
}
443454
}

0 commit comments

Comments
 (0)