我正在使用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,而不是像上面那样创建一个共享类型。我宁愿不必将相同的样板代码放入我记录的每个方法中。根据经验,上述似乎有效,但任何人都可以提供明确的指导吗?
答案 0 :(得分:9)
是的,Serilog中的ILogger
始终可以安全地从多个线程同时使用。