【发布时间】:2020-09-09 16:31:02
【问题描述】:
我正在尝试编写一个使用 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,但我已将我的所有代码从Program.cs 的main 方法移动到Logging.cs 构造函数,但我认为LogManager 将无法找到这个现在。
这可能吗?
【问题讨论】:
-
只传递正确的完整路径而不是相对路径。更好的是,将配置文件放在一个公共文件夹中
-
您可以在解决方案中的项目之间共享文件。在
Add > Existing Item中,从按钮菜单中选择Add As Link,而不是单击Add
标签: asp.net-core log4net