c# - 来自 app.config 中的键的 Log4net 配置文件路径
问题描述
我创建了一个使用 log4net 的自定义日志组件类库。我想从 app.config 中的键读取 log4net 配置文件路径。所以 app.config 将有一个键“log4netconfigpath”,这个键将包含配置文件的路径。那么我如何从 app.config 中的一个键加载 log4net 配置。
目前我从如下固定路径读取配置。
[assembly: log4net.Config.XmlConfigurator(ConfigFile=@"log4netconfig.config", Watch=true)]
解决方案
我认为您在初始化应用程序时使用以下代码,
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
推荐阅读
- java - 使用 Storm 2.2.0 启动我的拓扑:无法从种子主机 [localhost] 找到领导者 nimbus
- python - 收集 pyarrow.io 错误:找不到满足 pyarrow.io 要求的版本(来自版本:无)
- azure-cognitive-search - 在 Azure 搜索中,有没有办法将构面计数限定为顶级参数?
- html - 使用 jQuery load() 方法时出错
- random - 如何在 Rust 中使用 HC-128 生成随机数?
- axios - 使用 axios keep alive 连接多台服务器
- flutter - 在飞镖颤动中自动将json转换为对象
- java - Spring Boot + OAuth2 + REST API - 找不到证书路径
- javascript - 无法获取当前页面以将活动类添加到 Safari 中的导航项
- python-3.x - 如何使用python在一行中打印特定字符?