log4net.Config 配置
1 运行时编程 配置
var logCfg = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config");
XmlConfigurator.ConfigureAndWatch(logCfg);
2 assembly-level 配置属性
在 ==Properties/AssemblyInfo.cs== 文件里添加下面代码,让程序启动时是找到Log4net.config配置文件
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
在程序入口文件Program.cs中添加也是可以的
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
XmlConfigurator可配置三个属性:
- ConfigFile:配置文件的路径及文件名,包括扩展名,文件相对于程序的根目录。注意:这个属性不能和 ConfigFileExtension 属性同时使用。
- ConfigFileExtension:配置文件的后缀名,缺省的文件扩展名为”config”。这个属性不能和 ConfigFile 属性同时使用。
- Watch (Boolean属性): 如果为true,log4net框架在运行时监视文件。如果配置文件修改被修改了,将会重新读取。
XmlConfigurator 配置例子:假设程序名称为TestApp
// 配置 log4net 使用 .config 后缀文件
// log4net将会在程序根目录查找配置文件 TestApp.exe.config
// 文件 TestApp.exe.config 被log4net监视是否被修改,
//如果修改了TestApp.exe.config文件, log4net自动重新加载
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
// 配置 log4net 使用 .log4net 后缀文件
// log4net将会在程序根目录查找配置文件 TestApp.exe.log4net
// 文件 TestApp.exe.log4net 被log4net监视是否被修改,
//如果修改了TestApp.exe.config文件, log4net自动重新加载
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension="log4net",Watch=true)]
3 app.config 中的 appSettings 配置
key 为 log4net.Config 的setting 会覆盖 assembly XmlConfigurator 配置 中 ConfigFile 指定的值
key 为 log4net.Config.Watch 的setting 会覆盖 assembly XmlConfigurator 配置 中 Watch 指定的值
// 有 assembly 配置
[assembly: log4net.Config.XmlConfigurator(Watch=false)]
//上面的assemble配置使使用配置文件 "TestApp.exe.config",并且不监视。
//下面的配置覆盖assemble配置,使用配置文件 log4net.config, 并且监视该文件
// appSettings 配置
<appSettings>
<add key="log4net.Config" value="log4net.config" />
<add key="log4net.Config.Watch" value="True" />
<!--
<add key="log4net.Internal.Debug" value="true"/>
-->
</appSettings>
参考
http://logging.apache.org/log4net/release/manual/configuration.html
Log4Net使用指南 http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html
http://www.cnblogs.com/easy5weikai/p/3751275.html
时间: 2024-09-23 15:11:20