Skip to content

Commit 19e0a82

Browse files
committed
Merge branch 'dev' into audit
2 parents 4fd69e1 + 001fe1b commit 19e0a82

File tree

3 files changed

+100
-1
lines changed

3 files changed

+100
-1
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#if NET5_0
2+
3+
using PublicApiGenerator;
4+
using Shouldly;
5+
using Xunit;
6+
7+
namespace Serilog.Sinks.Console.Tests.Approval
8+
{
9+
public class ApiApprovalTests
10+
{
11+
[Fact]
12+
public void PublicApi_Should_Not_Change_Unintentionally()
13+
{
14+
var assembly = typeof(ConsoleLoggerConfigurationExtensions).Assembly;
15+
var publicApi = assembly.GeneratePublicApi(
16+
new ApiGeneratorOptions()
17+
{
18+
IncludeAssemblyAttributes = false,
19+
ExcludeAttributes = new[] { "System.Diagnostics.DebuggerDisplayAttribute" },
20+
});
21+
22+
publicApi.ShouldMatchApproved(options => options.WithFilenameGenerator((_, __, fileType, fileExtension) => $"{assembly.GetName().Name!}.{fileType}.{fileExtension}"));
23+
}
24+
}
25+
}
26+
27+
#endif
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
namespace Serilog
2+
{
3+
public static class ConsoleLoggerConfigurationExtensions
4+
{
5+
public static Serilog.LoggerConfiguration Console(this Serilog.Configuration.LoggerSinkConfiguration sinkConfiguration, Serilog.Formatting.ITextFormatter formatter, Serilog.Events.LogEventLevel restrictedToMinimumLevel = 0, Serilog.Core.LoggingLevelSwitch? levelSwitch = null, Serilog.Events.LogEventLevel? standardErrorFromLevel = default, object? syncRoot = null) { }
6+
public static Serilog.LoggerConfiguration Console(this Serilog.Configuration.LoggerSinkConfiguration sinkConfiguration, Serilog.Events.LogEventLevel restrictedToMinimumLevel = 0, string outputTemplate = "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}", System.IFormatProvider? formatProvider = null, Serilog.Core.LoggingLevelSwitch? levelSwitch = null, Serilog.Events.LogEventLevel? standardErrorFromLevel = default, Serilog.Sinks.SystemConsole.Themes.ConsoleTheme? theme = null, bool applyThemeToRedirectedOutput = false, object? syncRoot = null) { }
7+
}
8+
}
9+
namespace Serilog.Sinks.SystemConsole.Themes
10+
{
11+
public class AnsiConsoleTheme : Serilog.Sinks.SystemConsole.Themes.ConsoleTheme
12+
{
13+
public AnsiConsoleTheme(System.Collections.Generic.IReadOnlyDictionary<Serilog.Sinks.SystemConsole.Themes.ConsoleThemeStyle, string> styles) { }
14+
public override bool CanBuffer { get; }
15+
protected override int ResetCharCount { get; }
16+
public static Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme Code { get; }
17+
public static Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme Grayscale { get; }
18+
public static Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme Literate { get; }
19+
public static Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme Sixteen { get; }
20+
public override void Reset(System.IO.TextWriter output) { }
21+
public override int Set(System.IO.TextWriter output, Serilog.Sinks.SystemConsole.Themes.ConsoleThemeStyle style) { }
22+
}
23+
public abstract class ConsoleTheme
24+
{
25+
protected ConsoleTheme() { }
26+
public abstract bool CanBuffer { get; }
27+
protected abstract int ResetCharCount { get; }
28+
public static Serilog.Sinks.SystemConsole.Themes.ConsoleTheme None { get; }
29+
public abstract void Reset(System.IO.TextWriter output);
30+
public abstract int Set(System.IO.TextWriter output, Serilog.Sinks.SystemConsole.Themes.ConsoleThemeStyle style);
31+
}
32+
public enum ConsoleThemeStyle
33+
{
34+
Text = 0,
35+
SecondaryText = 1,
36+
TertiaryText = 2,
37+
Invalid = 3,
38+
Null = 4,
39+
Name = 5,
40+
String = 6,
41+
Number = 7,
42+
Boolean = 8,
43+
Scalar = 9,
44+
[System.Obsolete("Use ConsoleThemeStyle.Scalar instead")]
45+
Object = 9,
46+
LevelVerbose = 10,
47+
LevelDebug = 11,
48+
LevelInformation = 12,
49+
LevelWarning = 13,
50+
LevelError = 14,
51+
LevelFatal = 15,
52+
}
53+
public class SystemConsoleTheme : Serilog.Sinks.SystemConsole.Themes.ConsoleTheme
54+
{
55+
public SystemConsoleTheme(System.Collections.Generic.IReadOnlyDictionary<Serilog.Sinks.SystemConsole.Themes.ConsoleThemeStyle, Serilog.Sinks.SystemConsole.Themes.SystemConsoleThemeStyle> styles) { }
56+
public override bool CanBuffer { get; }
57+
protected override int ResetCharCount { get; }
58+
public System.Collections.Generic.IReadOnlyDictionary<Serilog.Sinks.SystemConsole.Themes.ConsoleThemeStyle, Serilog.Sinks.SystemConsole.Themes.SystemConsoleThemeStyle> Styles { get; }
59+
public static Serilog.Sinks.SystemConsole.Themes.SystemConsoleTheme Colored { get; }
60+
public static Serilog.Sinks.SystemConsole.Themes.SystemConsoleTheme Grayscale { get; }
61+
public static Serilog.Sinks.SystemConsole.Themes.SystemConsoleTheme Literate { get; }
62+
public override void Reset(System.IO.TextWriter output) { }
63+
public override int Set(System.IO.TextWriter output, Serilog.Sinks.SystemConsole.Themes.ConsoleThemeStyle style) { }
64+
}
65+
public struct SystemConsoleThemeStyle
66+
{
67+
public System.ConsoleColor? Background;
68+
public System.ConsoleColor? Foreground;
69+
}
70+
}

test/Serilog.Sinks.Console.Tests/Serilog.Sinks.Console.Tests.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<TargetFrameworks>netcoreapp2.1;netcoreapp2.2;netcoreapp3.0;netcoreapp3.1;net452;net462;net472;net48;net5.0</TargetFrameworks>
@@ -19,6 +19,8 @@
1919
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" PrivateAssets="all" />
2020
<PackageReference Include="xunit" Version="2.4.1" />
2121
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
22+
<PackageReference Include="Shouldly" Version="4.1.0" />
23+
<PackageReference Include="PublicApiGenerator" Version="11.0.0" Condition="'$(TargetFramework)' == 'net5.0'" />
2224
</ItemGroup>
2325

2426
</Project>

0 commit comments

Comments
 (0)