Liblog .NetStandard 2.0

时间:2018-04-05 08:23:40

标签: .net .net-standard-2.0 liblog

我最近在我的项目中使用Liblog解决方案来获取日志记录抽象。 一切都很好,但我有一个小问题。

我的项目是.Net Standard 2.0,因此我定义了一个编译符号"LIBLOG_PORTABLE"

添加此内容后,我无法调用LogProvider.GetCurrentClassLogger();,因为在上述声明后它不可用。 因此,现在我使用以下方式访问我的记录器。

LogProvider.SetCurrentLogProvider(new Logging.LogProviders.SerilogLogProvider());
Logger = LogProvider.GetLogger("SerilogLog");   

但是,如果我明确提供所有这些,我很困惑它如何支持.Net Standard 2.0的日志记录抽象。 这是一种正确的做法,还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

sample in the 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(....);
        }
    }
}

有关详细原因,请refer to the Wiki