log4net

1)添加程序集引用

log4net.dll

2)设置 程序启动时读取Log4Net配置信息

log4net.Config.XmlConfigurator.Configure();//读取Log4Net配置信息

3) 配置config文件

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="test.txt"/> //文件名
      <appendToFile value="true"/> //追加
      <maxSizeRollBackups value="10"/>

//text1.txt text2.txt  text3.txt 文件写满后剪切到其它文件,10为可以操作10次,10个文件都写满后覆盖重写 text1.txt text2.txt  text3.txt
      <maximumFileSize value="1024KB"/> //文件大小
      <rollingStyle value="Size"/> //按照大小来设置滚动写文件
      <staticLogFileName value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
      </layout>
    </appender>
    <root>
      <level value="DEBUG"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>

配置文件示例2

<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="ERROR"/>
    </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>
 
App_Data是ASP.NET专用于存储应用程序本地数据库的保留文件夹...此文件夹受ASP.NET保护,禁止直接访问和运行...也就是说不可以通过URI浏览或下载文件夹中的文件...
 

4)使用

ILog logger = LogManager.GetLogger("errorMsg");
logger.Error(ex.ToString());

示例代码

配置文件说明

Appender 可以将日志输出到不同的地方

RollingFileAppender 滚动文件 ,AdoNetAppender 数据库,SmtpAppender邮件 等

日志级别 level : 标识这条日志信息的重要级别,None>Fatal > ERROR> warn > debug>info>all ,设定一个Level ,那么 低于这个Level的日志是不会写到appender中的

Log4Net还可以设定多个Appender,可以实现同时将日志记录到文件、数据库、发送邮件等,可以设定还珠Appender的不同的Level,可以实现普通级别都记录到文件,Error以上级别发送邮件;可以实现对不同的类设定不同的Appender;还可以自定义Appender,这样可以自己实现将Error信息发短信等

conversionPattern 日志格式

原文地址:https://www.cnblogs.com/rockywood/p/6555470.html