zoukankan      html  css  js  c++  java
  • ASP.NET使用log4Net日志组件教程(每天产生一个日志及日志按大小切割)


    对于一个大型网站与系统来说,日志是必备的工具,通过日志你可以非常清楚程序的运行情况,及时得到反馈来解决问题,下面介绍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>
    <!-- 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>
    <!-- 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>
    下面看下我服务器上使用的效果图:

     
  • 相关阅读:
    javascirpt Scoket
    黑马程序员面试题(一)交通灯管理系统
    中软国际实习总结
    黑马程序员Java基础正则表达式
    黑马程序员Java基础加强Java高新技术
    黑马程序员JAVA基础GUI
    面试题(二)银行业务调度系统
    黑马程序员JAVA基础IO流之File 类
    黑马程序员JAVA基础IO流其他类
    黑马程序员Java基础网络编程
  • 原文地址:https://www.cnblogs.com/enya1999/p/2216886.html
Copyright © 2011-2022 走看看