.Net Standard上的Log4Net没有用于获取没有存储库的logger的版本

问题描述 投票:1回答:1

我正在尝试将项目移动到.net标准,它基本上是一个类库。我正在使用log4net进行日志记录,而我正在使用该方法

public static ILog GetLogger(string name);

由于这是一个由多个项目引用的库,因此定义存储库不应该发生,因为每个项目引用此项目,定义它自己的日志记录库。在移植到.Net标准时,我该如何规避这个问题?

c# log4net .net-standard
1个回答
8
投票

GetLogger的实现很简单:

public static ILog GetLogger(string name)
{
    return GetLogger(Assembly.GetCallingAssembly(), name);
}

假设您要使用类库的程序集,您可以轻松地编写自己的帮助程序方法:

private static ILog GetLogger(string name) =>
    LogManager.GetLogger(typeof(SomeTypeInYourLibrary).Assembly, name);

它基本上是将程序集硬编码为“包含您指定类型的程序集”,这是您从库中调用GetLogger(string)时总是得到的。

© www.soinside.com 2019 - 2024. All rights reserved.