相关疑难解决方法(0)

有条件地单独禁用 Serilog 接收器

我的 .net core 应用程序基本配置上有 Serilog,如下所示:-

Log.Logger = new LoggerConfiguration()
        .ReadFrom.Configuration(Configuration)
        .Enrich.FromLogContext()
        .WriteTo.File(@"./logs/log-.log", rollingInterval: RollingInterval.Day, outputTemplate: LOG_TEMPLATE)
        .WriteTo.Console(outputTemplate: LOG_TEMPLATE, theme: AnsiConsoleTheme.Literate)
        .WriteTo.SomeOtherLog()
        .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

现在假设我希望根据条件写入 SomeOtherLog。人们会怎样做呢?

就像是

if(conditon)
.WriteTo.SomeOtherLog()
Run Code Online (Sandbox Code Playgroud)

c# serilog .net-core

6
推荐指数
2
解决办法
4875
查看次数

Serilog - 单独的信息文件,使用 appsetting.json 的例外

我正在使用滚动将所有日志写入一个文件。但我想通过Information,WarningExceptions滚动文件将它们分开。

我当前的配置是这样的

     "Serilog": {
    "WriteTo": [
      {
        "Name": "RollingFile",
        "Args": {
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] {Message}{NewLine}{Exception}",
          "pathFormat": "logs\\log-{Hour}.log",
          "rollOnFileSizeLimit ": true,
          "retainedFileCountLimit ": null,
          "rollingInterval": "Hour",
          "fileSizeLimitBytes": 5000000
        }
      }
    ]
  },
Run Code Online (Sandbox Code Playgroud)

班级

public ILogger GetLogger()
    {
        var configuration = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json")
            .Build();
        _logger =
            new LoggerConfiguration()
                .ReadFrom.Configuration(configuration)
                .CreateLogger();

        return _logger ;
    }
Run Code Online (Sandbox Code Playgroud)

c# serilog .net-core serilog-exceptions

2
推荐指数
1
解决办法
2315
查看次数

标签 统计

.net-core ×2

c# ×2

serilog ×2

serilog-exceptions ×1