Skip to content

Commit d503eec

Browse files
authored
Merge pull request #92 from nblumhardt/fix-91
Fix #91 - wrong parameter name on surrogate WriteTo.Logger configuration method
2 parents 96e636e + 716cc99 commit d503eec

File tree

5 files changed

+30
-6
lines changed

5 files changed

+30
-6
lines changed

Diff for: sample/Sample/Sample.csproj

+6
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,10 @@
2323
<PackageReference Include="Serilog.Filters.Expressions" Version="1.0.0" />
2424
</ItemGroup>
2525

26+
<ItemGroup>
27+
<None Update="appsettings.json">
28+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
29+
</None>
30+
</ItemGroup>
31+
2632
</Project>

Diff for: sample/Sample/appsettings.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"Name": "Console",
1818
"Args": {
1919
"outputTemplate": "[{Timestamp:HH:mm:ss} {SourceContext} [{Level}] {Message}{NewLine}{Exception}",
20-
"theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console"
20+
"theme": "Serilog.Sinks.SystemConsole.Themes.SystemConsoleTheme::Grayscale, Serilog.Sinks.Console"
2121
}
2222
}
2323
]
@@ -58,4 +58,4 @@
5858
}
5959
]
6060
}
61-
}
61+
}

Diff for: src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<Description>Microsoft.Extensions.Configuration (appsettings.json) support for Serilog.</Description>
5-
<VersionPrefix>2.6.0</VersionPrefix>
5+
<VersionPrefix>2.6.1</VersionPrefix>
66
<Authors>Serilog Contributors</Authors>
77
<TargetFrameworks>net451;netstandard1.6</TargetFrameworks>
88
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

Diff for: src/Serilog.Settings.Configuration/Settings/Configuration/ConfigurationReader.cs

+7-3
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ internal static IList<MethodInfo> FindSinkConfigurationMethods(IReadOnlyCollecti
329329
{
330330
var found = FindConfigurationMethods(configurationAssemblies, typeof(LoggerSinkConfiguration));
331331
if (configurationAssemblies.Contains(typeof(LoggerSinkConfiguration).GetTypeInfo().Assembly))
332-
found.Add(GetSurrogateConfigurationMethod<LoggerSinkConfiguration, Action<LoggerConfiguration>, LoggingLevelSwitch>((c, a, s) => Logger(c, a, s)));
332+
found.Add(GetSurrogateConfigurationMethod<LoggerSinkConfiguration, Action<LoggerConfiguration>, LoggingLevelSwitch>((c, a, s) => Logger(c, a, LevelAlias.Minimum, s)));
333333

334334
return found;
335335
}
@@ -380,8 +380,12 @@ internal static LoggerConfiguration FromLogContext(LoggerEnrichmentConfiguration
380380
=> loggerEnrichmentConfiguration.FromLogContext();
381381

382382
// Unlike the other configuration methods, Logger is an instance method rather than an extension.
383-
internal static LoggerConfiguration Logger(LoggerSinkConfiguration loggerSinkConfiguration, Action<LoggerConfiguration> configureLogger, LoggingLevelSwitch restrictedToMinimumLevel = null)
384-
=> loggerSinkConfiguration.Logger(configureLogger, levelSwitch: restrictedToMinimumLevel);
383+
internal static LoggerConfiguration Logger(
384+
LoggerSinkConfiguration loggerSinkConfiguration,
385+
Action<LoggerConfiguration> configureLogger,
386+
LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum,
387+
LoggingLevelSwitch levelSwitch = null)
388+
=> loggerSinkConfiguration.Logger(configureLogger, restrictedToMinimumLevel, levelSwitch);
385389

386390
internal static MethodInfo GetSurrogateConfigurationMethod<TConfiguration, TArg1, TArg2>(Expression<Action<TConfiguration, TArg1, TArg2>> method)
387391
=> (method.Body as MethodCallExpression)?.Method;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System.Text.RegularExpressions;
2+
3+
namespace Serilog.Settings.Configuration
4+
{
5+
static class ConfigurationValueSyntax
6+
{
7+
const string LevelSwitchNameRegex = @"^\$[A-Za-z]+[A-Za-z0-9]*$";
8+
9+
public static bool IsValidSwitchName(string input)
10+
{
11+
return Regex.IsMatch(input, LevelSwitchNameRegex);
12+
}
13+
}
14+
}

0 commit comments

Comments
 (0)