.net 可以在serilog中更改颜色吗?

.net 可以在serilog中更改颜色吗?,.net,logging,.net-core,themes,serilog,.net,Logging,.net Core,Themes,Serilog,我刚刚将Serilog集成到我的dot net核心项目中。这是非常好的工作,但我使用了一个黑暗的主题和一些日志真的很难阅读。例如: 这是我初始化Serilog的方式: string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); LoggerConfiguration loggerConfig = new LoggerConfiguration();

我刚刚将Serilog集成到我的dot net核心项目中。这是非常好的工作,但我使用了一个黑暗的主题和一些日志真的很难阅读。例如:

这是我初始化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");

例如,有没有办法改变颜色使黑色原木变为白色?

是的,使用控制台接收器时改变颜色的方法已经完成。您可以尝试一个内置的,或创建自己的

默认情况下,控制台接收器将为输出着色:

配置接收器时可以指定主题:

.WriteTo.Console(主题:AnsiConsoleTheme.code)
在撰写本文时,以下内置主题可用:

  • 控制台名称。无
    -无样式
  • SystemConsoleTheme.Literate
    -使用所有Windows/.NET目标支持的
    System.Console
    着色模式,将样式设置为复制Serilog.Sinks.Literate这是未指定主题时的默认设置
  • SystemConsoleTheme.Grayscale
    -仅使用灰色、白色和黑色阴影的主题
  • AnsiConsoleTheme.Literate
    ——ANSI 16色版本的“Literate”主题;我们希望在将来使用256色进行更新,以获得更精致的外观
  • AnsiConsoleTheme.Grayscale
    “灰度”主题的ANSI 256色版本
  • AnsiConsoleTheme.code
    -一个ANSI 256色Visual Studio代码主题
增加一个新的主题很简单;示例可以在和类中找到