猿问

.Net Standard 上的 Log4Net 没有用于在没有存储库的情况下获取记录器的版本

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

public static ILog GetLogger(string name);

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


慕田峪4524236
浏览 94回答 1
1回答

饮歌长啸

的实现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)从库中调用时总是会得到的。
随时随地看视频慕课网APP
我要回答