如何使用Log4net创建日志及简单扩展

第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0。
第二步:程序启动时读取log4net的配置文件。
如果是CS程序,在根目录的Program.cs中的Main方法中添加:
log4net.Config.XmlConfigurator.Configure();
如果是BS程序,在根目录的Global.asax.cs(没有新建一个)中的Application_Start方法中添加:
log4net.Config.XmlConfigurator.Configure();
无论BS还是CS程序都可直接在项目的AssemblyInfo.cs文件里添加以下的语句:
[assembly:log4net.Config .XmlConfigurator()]
也可以使用自定义的配置文件,具体请参见4.4 关联配置文件。
第三步:修改配置文件。如果是CS程序,则在默认的App.config文件(没有新建一个)中添加内容;如果是BS程序,则添加到Web.config文件中,添加内容一样,这里不再列出。
App.config文件添加内容如下:
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
  <configSections>
<sectionname="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
 
  <log4net>
    <root>
      <levelvalue="WARN" />
      <appender-refref="LogFileAppender" />
      <appender-refref="ConsoleAppender" />
    </root>
 
    <loggername="testApp.Logging">
      <levelvalue="DEBUG"/>
    </logger>
 
    <appendername="LogFileAppender"type="log4net.Appender.FileAppender" >
      <paramname="File"value="log-file.txt" />
      <paramname="AppendToFile"value="true" />
 
      <layouttype="log4net.Layout.PatternLayout">
        <paramname="Header"value="[Header]"/>
        <paramname="Footer"value="[Footer]"/>
        <paramname="ConversionPattern"value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
 
      <filtertype="log4net.Filter.LevelRangeFilter">
        <paramname="LevelMin"value="DEBUG" />
        <paramname="LevelMax"value="WARN" />
      </filter>
    </appender>
 
    <appendername="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
      <layouttype="log4net.Layout.PatternLayout">
        <paramname="ConversionPattern"  value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>
 
  </log4net>
</configuration>
第四步:在程序使用。
log4net.ILoglog = log4net.LogManager.GetLogger("testApp.Logging");//获取一个日志记录器
log.Info(DateTime.Now.ToString()+ ": login success");//写入一条新log
这样就将信息同时输出到控制台和写入到文件名为“log-file.txt”的文件中,其中“log-file.txt”文件的路径是当前程序运行所在目录;也可以定义为绝对路径,配置如:
<paramname="File"value="C:log-file.txt" />就写入C盘根目录下log-file.txt文件中
原文地址:https://www.cnblogs.com/rainbow70626/p/6216417.html