Browse Source

Log parameters.

pull/283/head
Sebastian 8 years ago
parent
commit
6df6572e0e
  1. 17
      src/Squidex.Infrastructure/Log/Adapter/SemanticLogLogger.cs
  2. 38
      tests/Squidex.Infrastructure.Tests/Log/SemanticLogAdapterTests.cs

17
src/Squidex.Infrastructure/Log/Adapter/SemanticLogLogger.cs

@ -6,6 +6,7 @@
// ==========================================================================
using System;
using System.Collections.Generic;
using Microsoft.Extensions.Logging;
namespace Squidex.Infrastructure.Log.Adapter
@ -70,6 +71,22 @@ namespace Squidex.Infrastructure.Log.Adapter
});
}
if (state is IReadOnlyList<KeyValuePair<string, object>> parameters)
{
foreach (var kvp in parameters)
{
if (kvp.Value != null)
{
var key = kvp.Key.Trim('{', '}', ' ');
if (key.Length > 2 && !string.Equals(key, "originalFormat", StringComparison.OrdinalIgnoreCase))
{
writer.WriteProperty(key.ToCamelCase(), kvp.Value.ToString());
}
}
}
}
if (exception != null)
{
writer.WriteException(exception);

38
tests/Squidex.Infrastructure.Tests/Log/SemanticLogAdapterTests.cs

@ -125,6 +125,44 @@ namespace Squidex.Infrastructure.Log
Assert.Equal(expected, output);
}
[Fact]
public void Should_log_additional_values()
{
var exception = new InvalidOperationException();
var logger = sut.CreateLogger("my-category");
logger.LogDebug("My numbers are {number1} and {Number2}", 123, 456);
var expected =
MakeTestCall(w => w
.WriteProperty("logLevel", "Debug")
.WriteProperty("message", "My numbers are 123 and 456")
.WriteProperty("number1", "123")
.WriteProperty("number2", "456")
.WriteProperty("category", "my-category"));
Assert.Equal(expected, output);
}
[Fact]
public void Should_not_log_numbers()
{
var exception = new InvalidOperationException();
var logger = sut.CreateLogger("my-category");
logger.LogDebug("My numbers are {0} and {1}", 123, 456);
var expected =
MakeTestCall(w => w
.WriteProperty("logLevel", "Debug")
.WriteProperty("message", "My numbers are 123 and 456")
.WriteProperty("category", "my-category"));
Assert.Equal(expected, output);
}
[Theory]
[InlineData(LogLevel.None, "Debug")]
[InlineData(LogLevel.Debug, "Debug")]

Loading…
Cancel
Save