1

我不确定如何将 Serilog 的 LogContext 与 CouchDB 接收器一起使用。

一个简单的例子来展示我当前的用法:

using (LogContext.PushProperty("Track", "hi"))
{
    this.Log.Information("test");
}

而我在 CouchDB Futon 中看到的: 测试

我的理解是,LogContext 会在所有 Serilog 日志中添加一个值为“hi”的“Track”字段,直到它被处理掉。但是,我没有看到这种情况发生。

4

1 回答 1

2

(不知道如何回答我自己的问题,我通过进一步研究找到了解决方案。)

为了像我一样使用 LogContext 类,记录器需要初始化: .Enrich.FromLogContext()

我以为我已经做到了,但我……没有。

this.Log = new LoggerConfiguration()
    .WriteTo.ColoredConsole()
    .WriteTo.CouchDB("http://127.0.0.1:5984/logs")
    .Enrich.FromLogContext()
    .CreateLogger();

这在以下位置进行了解释:https ://github.com/serilog/serilog/wiki/Enrichment

于 2015-02-05T08:57:31.717 回答