首页 > 解决方案 > 来自 app.config 中的键的 Log4net 配置文件路径

问题描述

我创建了一个使用 log4net 的自定义日志组件类库。我想从 app.config 中的键读取 log4net 配置文件路径。所以 app.config 将有一个键“log4netconfigpath”,这个键将包含配置文件的路径。那么我如何从 app.config 中的一个键加载 log4net 配置。

目前我从如下固定路径读取配置。

[assembly: log4net.Config.XmlConfigurator(ConfigFile=@"log4netconfig.config", Watch=true)]

标签: c#log4netlog4net-configurationlog4net-appender

解决方案


我认为您在初始化应用程序时使用以下代码,

var logPath = Convert.ToString(ConfigurationManager.AppSettings["log4netconfigpath"])
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(path));

但是,如果您在控制台或 Winservice 应用程序中使用它并在项目中添加日志配置文件,那么请获取 basePath,然后附加路径

string path = System.AppDomain.CurrentDomain.BaseDirectory;
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(path + logPath)));

命名空间:System.Configuration


推荐阅读