ASP.NET使用log4Net日志组件教程(日志按大小切割)

.NET技术    2009-12-21 10:54  

  对于一个大型网站与系统来说,日志是必备的工具,通过日志你可以非常清楚程序的运行情况,及时得到反馈来解决问题,下面介绍ASP.NET版本的log4Net日志组件是个非常强大的工具,最新版本for .net2.0 1.2.10.0

  本人搞了一天,终于知道搞清楚怎样使用了,简单记录一下。

  以下介绍的方法是log4net使用单独的配置文件的。

  开始行动:

  第一步:在项目引用log4net.dll文件

  第二步:

        在Web.config文件中加入一句代码,位置如下:

  <configuration>
    <configSections>
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    </configSections>

</configuration>

  第三步:

        建立一个单独的配置文件,文件名为:log4net.config

        (这个配置文件会在App_Data目录下按日期每天产生一个日志文件,如:Logs_20090703.txt)

  log4net.config配置文件内容:

 log4net.config Code [http://www.xueit.com]
<?xml version="1.0" encoding="utf-8"?><log4net> <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL --> <!-- Set root logger level to ERROR and its appenders --> <root> <level value="ALL"/> <appender-ref ref="SysAppender"/> </root> <!-- Print only messages of level DEBUG or above in the packages --> <logger name="WebLogger"> <level value="DEBUG"/> </logger> <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" > <param name="File" value="App_Data/" /> <param name="AppendToFile" value="true" /> <param name="RollingStyle" value="Date" /> <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" /> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" /> <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" /> </layout> </appender> <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net"> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> </layout> </appender></log4net>

  第四步:(这步很关键)

  在文件AssemblyInfo.cs加入一句代码,AssemblyInfo.cs的路径所在Properties目录下

  加入的代码如下:

  // 日志组件配置
[assembly: log4net.Config.DOMConfigurator(ConfigFile = "log4net.config", Watch = true)]

  第五步:开始使用log4net的.cs代码

  先引入:

  using log4net;

  代码:

   object o = ConfigurationSettings.GetConfig("log4net");
 log4net.Config.DOMConfigurator.Configure(o as System.Xml.XmlElement);

   log4net.ILog logger = log4net.LogManager.GetLogger("WebLogger");
 logger.Debug("调试");
 logger.Error("这是一个错误日志");
 logger.Fatal("这是一个致命的错误日志");
 logger.Warn("这是一条警告日志");
 logger.Info("这是一条普通信息");

  就这么简单完成了。

  下面说下配置文件按大小自动切割多个文件的方法。

  log4net.config单独配置文件(按大小)的内容如下:

 log4net.config Code [http://www.xueit.com]
<?xml version="1.0" encoding="utf-8"?><log4net> <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL --> <!-- Set root logger level to ERROR and its appenders --> <root> <level value="ALL"/> <appender-ref ref="SysAppender"/> </root> <!-- Print only messages of level DEBUG or above in the packages --> <logger name="WebLogger"> <level value="DEBUG"/> </logger> <appender name="SysAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="App_Data\Logs.txt"/> <param name="AppendToFile" value="true"/> <param name="MaxSizeRollBackups" value="12"/> <!-- 切割最多文件数 --> <param name="MaximumFileSize" value="500KB"/> <!-- 每个文件的大小 --> <param name="RollingStyle" value="Size"/> <param name="StaticLogFileName" value="true"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/> </layout> </appender></log4net>

  下面看下我服务器上使用的效果图:

  Www.Hdut.Com

  log4Net产生日志效果图

  dodo http://www.xueit.com/html/2009-12-18/21-1907360304171.html

  本文版权归作者和学IT网共有,欢迎转载,但未经作者同意必须保留此段声明,并且保留原文链接。否则保留追究法律责任的权利。

在线留言

我要留言