转自: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 初始化