使用静态`Serilog.ILogger`是否安全

时间:2017-03-21 13:50:13

标签: c# serilog

我正在使用Serilog。我想用包含类的SourceContext来编写日志条目。

执行此操作是否安全(包括线程安全):

using Serilog;

...

class Foo
{
    private static readonly ILogger Log =
     Serilog.Log.ForContext<Foo>();

    /* Invoke Log.Debug(...) etc. in other methods */
}

The documentation (linked) has a small example that adds the context within a method,而不是像上面那样创建一个共享类型。我宁愿不必将相同的样板代码放入我记录的每个方法中。根据经验,上述似乎有效,但任何人都可以提供明确的指导吗?

1 个答案:

答案 0 :(得分:9)

是的,Serilog中的ILogger始终可以安全地从多个线程同时使用。