问题描述
我刚刚将Serilog集成到我的点网核心项目中.它确实运行良好,但我使用了深色主题,有些日志很难阅读.例如:
这是我初始化Serilog的方式:
字符串环境= Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");LoggerConfiguration loggerConfig = new LoggerConfiguration();如果(环境==生产")loggerConfig.MinimumLevel.Information();loggerConfig.MinimumLevel.Override("Microsoft.AspNetCore",LogEventLevel.Warning).Enrich.FromLogContext().WriteTo.Console().WriteTo.File("Logs/app.log");
有什么办法可以改变颜色,例如使黑色原木变成白色?
是的,使用控制台接收器时更改颜色的方法是通过
可以在配置接收器时指定主题:
.WriteTo.Console(主题:AnsiConsoleTheme.Code)
在撰写本文时,可以使用以下内置主题:
-
ConsoleTheme.None
-无样式 -
SystemConsoleTheme.Literate
-样式设置为使用所有Windows/上支持的System.Console
着色模式来复制 Serilog.Sinks.Literate .NET目标;这是未指定主题时的默认设置 -
SystemConsoleTheme.Grayscale
-仅使用灰色,白色和黑色阴影的主题 -
AnsiConsoleTheme.Literate
-识字"字样的ANSI 16色版本.主题;我们希望将其更新为使用256色,以便将来更加精致 -
AnsiConsoleTheme.Grayscale
-灰度"的ANSI 256色版本.主题 -
AnsiConsoleTheme.Code
-一个受ANSI 256色Visual Studio Code启发的主题
添加新主题非常简单;可以在 SystemConsoleThemes
和 AnsiConsoleThemes
类.
I have just integrated Serilog in my dot net core project. It is working really well but I use a dark theme and some logs are really dificult to read. As an example:
This is how I init Serilog:
string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
LoggerConfiguration loggerConfig = new LoggerConfiguration();
if (environment == "Production")
loggerConfig.MinimumLevel.Information();
loggerConfig.MinimumLevel.Override("Microsoft.AspNetCore",
LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.File("Logs/app.log");
Is there any way I could change colors to make that black logs white for example?
Yes, the way to change colors when using the Console sink is through themes. You can try one of the built-in ones, or create your own.
The Console sink will colorize output by default:
Themes can be specified when configuring the sink:
.WriteTo.Console(theme: AnsiConsoleTheme.Code)
The following built-in themes are available as of this writing:
ConsoleTheme.None
- no stylingSystemConsoleTheme.Literate
- styled to replicate Serilog.Sinks.Literate, using theSystem.Console
coloring modes supported on all Windows/.NET targets; this is the default when no theme is specifiedSystemConsoleTheme.Grayscale
- a theme using only shades of gray, white, and blackAnsiConsoleTheme.Literate
- an ANSI 16-color version of the "literate" theme; we expect to update this to use 256-colors for a more refined look in futureAnsiConsoleTheme.Grayscale
- an ANSI 256-color version of the "grayscale" themeAnsiConsoleTheme.Code
- an ANSI 256-color Visual Studio Code-inspired theme
Adding a new theme is straightforward; examples can be found in the SystemConsoleThemes
and AnsiConsoleThemes
classes.
这篇关于可以更改serilog中的颜色吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!