为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕田峪4524236 2022-12-04 11:03:49
我正在尝试将项目移动到 .net 标准,它基本上是一个类库。我正在使用 log4net 进行日志记录并且我正在使用该方法public static ILog GetLogger(string name);由于这是一个被多个项目引用的库,因此不应定义存储库,因为每个引用该项目的项目都定义了自己的日志存储库。在移植到 .Net 标准时如何避免这个问题?
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

的实现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)从库中调用时总是会得到的。


查看完整回答
反对 回复 2022-12-04
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信