我最近在项目中使用了liblog解决方案来获取记录抽象。一切都很好,但是我有一个小问题。
我的项目是.NET标准2.0,因此我定义了编译器符号"LIBLOG_PORTABLE"
添加此内容后,我无法致电LogProvider.GetCurrentClassLogger();
,因为它在上述声明后无法使用。因此,现在我正在使用以下方式访问我的记录器。
LogProvider.SetCurrentLogProvider(new Logging.LogProviders.SerilogLogProvider());
Logger = LogProvider.GetLogger("SerilogLog");
但是,如果我明确提供所有这些,我只是困惑它如何支持.NET标准2.0的记录抽象。这是正确的方法还是我缺少某些东西?
Wiki中有一个样本。
public class MyClass
{
private static readonly ILog Logger = LogProvider.For<MyClass>();
public MyClass()
{
using(LogProvider.OpenNestedContext("message"))
using(LogProvider.OpenMappedContext("key", "value"))
{
Logger.Info(....);
}
}
}
出于更详细的原因,请参考Wiki。