日志管理-将Log4net的配置配置到的独立文件中

时间:2021-10-13 19:39:44
转自:http://www.cnblogs.com/zfanlong1314/p/3662679.html
使用log4net已经很久了.但从来没有详情了解log4的参数,及具体使用方法.看了周公的博客后对log4net有了很详细的了解.
周公对log4net已经做了非常详细的解说,这里就不再赘述了.如不了解.还请移步到周公专栏:http://blog.csdn.net/zhoufoxcn/article/details/2220533
 
周公在讲解log4net时.并没有讲解如何把log4net的配置放在独立的配置文件中;
其实在独立的配置文件中只需要修改几个地方就能完成:
1. 新建一个配置文件,log4net.config配置方法同成web.config或app.config一致;
2.如果windows应用程序请把配置文件设为:复制到输出目录 修改方法:在log4net.config上右击-->属性--->把"复制到输出目录" 值改为true;
3.在要用到log4的地方命名空间上边加上:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
到此,日志就行顺利记录了.
具代码如下:
log4net.config配置文件: 可自行修改
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<!--日志记录组建配置-->
<log4net>
<!-- Console部分log输出格式的设定 -->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger %ndc - %message%newline" />
</layout>
</appender>
<!-- 日志文件部分log输出格式的设定 -->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs\Log_" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.txt'" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<header value="------------------------------------------------------------
" />
<ConversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender> <!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
</configuration>
在使用Log4net的地方添加:
 [assembly: log4net.Config.XmlConfigurator(ConfigFile = @"Log4\log4net.config", Watch = true)]

如果是Web项目可以配置在global.asax.cs

            // Begion Logger 初始化
FileInfo file = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Log4Net.config"));
log4net.Config.XmlConfigurator.Configure(file);
// End Logger 初始化