相关疑难解决方法(0)

使用appsettings.json配置Serilog RollingFile

我正在尝试为.NET Core项目配置Serilog.这就是我的意思appsettings.json:

 "Serilog": 
{
    "MinimumLevel": "Verbose",
    "Enrich": ["FromLogContext", "WithMachineName", "WithProcessId", "WithThreadId"],
    "WriteTo": [
      { "Name": "RollingFile",
        "Args": {
          "pathFormat": "C:/Logfiles/testapp/log-{Date}.json",
          "textFormatter": "JsonFormatter",
          "fileSizeLimitBytes": 2147483648,
          "retainedFileCountLimit": 5
        }
      }
    ]
  }
Run Code Online (Sandbox Code Playgroud)

我看到的问题JsonFormatter是没有拾取,而是使用默认文本格式化程序获取条目.我尝试过使用"formatter": "JsonFormatter",但结果相同.

如果我在代码中配置Serilog,一切正常:

var jsonSink = new RollingFileSink(config["Logger:FilePath"], new JsonFormatter(), 2147483648, 5);

var logger = new Serilog.LoggerConfiguration().WriteTo.Sink(jsonSink);
Run Code Online (Sandbox Code Playgroud)

这是我的相关部分project.json:

"Serilog": "2.2.1",
"Serilog.Extensions.Logging": "1.1.0",
"Serilog.Sinks.Literate": "2.0.0",
"Serilog.Sinks.Seq": "2.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Serilog.Enrichers.Thread": "2.0.0", …
Run Code Online (Sandbox Code Playgroud)

c# serilog .net-core

15
推荐指数
3
解决办法
2万
查看次数

将Serilog文件接收器配置为在每个应用程序运行中使用一个日志文件

我想将Serilog配置为在每次运行时创建一个日志文件。
文件名应基于当前日期/时间:
第1次运行: log_20180413_1020.txt
第2次运行: log_20180413_1033.txt

我没有在任何文件接收器(滚动,替代..)中找到如何做的
任何线索?

.net logging serilog

5
推荐指数
1
解决办法
2283
查看次数

Serilog 异步文件日志记录 - 如何添加滚动

我正在使用最新的Serilog.File 4.1.0Serilog.Sinks.Async. 异步日志记录有效,但我希望滚动文件。如何启用文件滚动?

我有以下内容:

 Log.Logger = new LoggerConfiguration()
                .WriteTo.Async(a =>
                {
                    a.File("logs/logs.log");
                })
                .MinimumLevel.Verbose()
                .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

.net c# serilog .net-core

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

标签 统计

serilog ×3

.net ×2

.net-core ×2

c# ×2

logging ×1