我最近在我的项目中使用Liblog解决方案来获取日志记录抽象。 一切都很好,但我有一个小问题。
我的项目是.Net Standard 2.0,因此我定义了一个编译符号"LIBLOG_PORTABLE"
添加此内容后,我无法调用LogProvider.GetCurrentClassLogger();
,因为在上述声明后它不可用。
因此,现在我使用以下方式访问我的记录器。
LogProvider.SetCurrentLogProvider(new Logging.LogProviders.SerilogLogProvider());
Logger = LogProvider.GetLogger("SerilogLog");
但是,如果我明确提供所有这些,我很困惑它如何支持.Net Standard 2.0的日志记录抽象。 这是一种正确的做法,还是我错过了什么?
答案 0 :(得分:0)
public class MyClass
{
private static readonly ILog Logger = LogProvider.For<MyClass>();
public MyClass()
{
using(LogProvider.OpenNestedContext("message"))
using(LogProvider.OpenMappedContext("key", "value"))
{
Logger.Info(....);
}
}
}
有关详细原因,请refer to the Wiki。