如何解决从另一个项目读取配置-Log4Net ASP.NET Core 3.1
我正在尝试编写一个使用log4net
的类库,该类库如下所示:
public class Logging
{
private ILog log4netLogger = null;
public Logging(Type type)
{
XmlDocument log4netConfig = new XmlDocument();
log4netConfig.Load(File.OpenRead("log4net.config"));
var repo = LogManager.CreateRepository(Assembly.GetEntryAssembly(),typeof(log4net.Repository.Hierarchy.Hierarchy));
XmlConfigurator.Configure(repo,log4netConfig["log4net"]);
log4netLogger = LogManager.GetLogger(type);
}
public void Debug(string message)
{
log4netLogger(message);
}
public void Info(string message)
{
log4netLogger(message);
}
}
但是,xml
配置在我的C:\....\TestLogging\TestLog4Net\bin\Debug\netcoreapp3.1
的测试控制台应用程序中。我实际上是从这个控制台应用程序开始测试log4net
的,但是我已经将所有代码从main
的{{1}}方法移动到Program.cs
构造函数,但是我认为{{ 1}}现在将无法找到。
这有可能吗?
解决方法
我认为有可能。要在类库中使用log4net,必须在类库中安装log4net package,然后可以在控制台应用程序中添加类库引用并使用类库方法。但是,正如您所说的,log4net.config
文件应该位于控制台应用程序netcoreapp3.1文件夹中,否则,类库将找不到log4net.config
文件:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。