欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

log4net日志文件的应用

程序员文章站 2022-04-01 19:20:30
日志作为快速定位程序问题的主要手段,日志几乎是所有程序都必须拥有的一部分,下面我们就看下怎么使用log4net.dll文件: 1.下载log4net.dll文件 2.创建自己的项目 3.在自己项目下的引用log4net.dll文件 4.在app.config配置文件里添加配置信息,下面贴出配置信息, ......

日志作为快速定位程序问题的主要手段,日志几乎是所有程序都必须拥有的一部分,下面我们就看下怎么使用log4net.dll文件:

1.下载log4net.dll文件

2.创建自己的项目

3.在自己项目下的引用log4net.dll文件

4.在app.config配置文件里添加配置信息,下面贴出配置信息,大家直接复制到app.config文件下就可以了

贴的代码

log4net日志文件的应用
<configsections>
    <section name="log4net" type="log4net.config.log4netconfigurationsectionhandler,log4net"/>
  </configsections>
  <log4net>
    <!-- 日志文件配置-->
    <root>
      <level value="all"/>
      <!--按文件存储日志-->
      <appender-ref ref="debugappender"/>
      <appender-ref ref="infoappender"/>
      <appender-ref ref="errorappender" />
    </root>
    <appender name="errorappender" type="log4net.appender.rollingfileappender">
      <param name="file" value=".\\logs\\error\\" />
      <!--日志记录的存在路-->
      <param name="appendtofile" value="true" />
      <!--为true就表示日志会附加到文件,为false,则会重新创建一个新文件-->
      <param name="maxsizerollbackups" value="30" />
      <!--创建最大文件数-->
      <!--<param name="maxfilesize" value="10240" />-->
      <!--文件大小-->
      <param name="staticlogfilename" value="false" />
      <!--是否指定文件名-->
      <param name="datepattern" value="yyyy-mm-dd&quot;.log&quot;"/>
      <!--文件格式-->
      <param name="rollingstyle" value="date" />
      <!--创建新文件的方式,可选为size(按文件大小),date(按日期),once(每启动一次创建一个文件),composite(按日期及文件大小),默认为composite-->
      <layout type="log4net.layout.patternlayout">
        <!--输出内容布局-->
        <param name="conversionpattern" value="%date [%thread] %-5level %logger [%property{ndc}] - %message%newline" />
        <!--method会影响性能-->
      </layout>
      <filter type="log4net.filter.levelrangefilter">
        <param name="levelmin" value="error" />
        <param name="levelmax" value="error" />
      </filter>
    </appender>
    <appender name="infoappender" type="log4net.appender.rollingfileappender">
      <param name="file" value=".\\logs\\info\\" />
      <param name="appendtofile" value="true" />
      <param name="maxsizerollbackups" value="30" />
      <param name="staticlogfilename" value="false" />
      <param name="datepattern" value="yyyy-mm-dd&quot;.log&quot;" />
      <param name="rollingstyle" value="date" />
      <layout type="log4net.layout.patternlayout">
        <param name="conversionpattern" value="%date [%thread] %-5level %logger [%property{ndc}] - %message%newline" />
      </layout>
      <filter type="log4net.filter.levelrangefilter">
        <param name="levelmin" value="info" />
        <param name="levelmax" value="info" />
      </filter>
    </appender>
    <appender name="debugappender" type="log4net.appender.rollingfileappender">
      <param name="file" value=".\\logs\\debug\\" />
      <param name="appendtofile" value="true" />
      <param name="maxsizerollbackups" value="30" />
      <param name="staticlogfilename" value="false" />
      <param name="datepattern" value="yyyy-mm-dd&quot;.log&quot;" />
      <param name="rollingstyle" value="date" />
      <layout type="log4net.layout.patternlayout">
        <param name="conversionpattern" value="%date [%thread] %-5level %logger [%property{ndc}] - %message%newline" />
      </layout>
      <filter type="log4net.filter.levelrangefilter">
        <param name="levelmin" value="debug" />
        <param name="levelmax" value="debug" />
      </filter>
    </appender>
  </log4net>
view code

app.config所有代码

log4net日志文件的应用
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configsections>
    <section name="log4net" type="log4net.config.log4netconfigurationsectionhandler,log4net"/>
    <sectiongroup name="usersettings" type="system.configuration.usersettingsgroup, system, version=4.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089">
      <section name="suncreate.combatplatform.client.namepipe.pipeserverprocess.set" type="system.configuration.clientsettingssection, system, version=4.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089" allowexedefinition="machinetolocaluser" requirepermission="false"/>
    </sectiongroup>
  </configsections>
  <log4net>
    <!-- 日志文件配置-->
    <root>
      <level value="all"/>
      <!--按文件存储日志-->
      <appender-ref ref="debugappender"/>
      <appender-ref ref="infoappender"/>
      <appender-ref ref="errorappender" />
    </root>
    <appender name="errorappender" type="log4net.appender.rollingfileappender">
      <param name="file" value=".\\logs\\error\\" />
      <!--日志记录的存在路-->
      <param name="appendtofile" value="true" />
      <!--为true就表示日志会附加到文件,为false,则会重新创建一个新文件-->
      <param name="maxsizerollbackups" value="30" />
      <!--创建最大文件数-->
      <!--<param name="maxfilesize" value="10240" />-->
      <!--文件大小-->
      <param name="staticlogfilename" value="false" />
      <!--是否指定文件名-->
      <param name="datepattern" value="yyyy-mm-dd&quot;.log&quot;"/>
      <!--文件格式-->
      <param name="rollingstyle" value="date" />
      <!--创建新文件的方式,可选为size(按文件大小),date(按日期),once(每启动一次创建一个文件),composite(按日期及文件大小),默认为composite-->
      <layout type="log4net.layout.patternlayout">
        <!--输出内容布局-->
        <param name="conversionpattern" value="%date [%thread] %-5level %logger [%property{ndc}] - %message%newline" />
        <!--method会影响性能-->
      </layout>
      <filter type="log4net.filter.levelrangefilter">
        <param name="levelmin" value="error" />
        <param name="levelmax" value="error" />
      </filter>
    </appender>
    <appender name="infoappender" type="log4net.appender.rollingfileappender">
      <param name="file" value=".\\logs\\info\\" />
      <param name="appendtofile" value="true" />
      <param name="maxsizerollbackups" value="30" />
      <param name="staticlogfilename" value="false" />
      <param name="datepattern" value="yyyy-mm-dd&quot;.log&quot;" />
      <param name="rollingstyle" value="date" />
      <layout type="log4net.layout.patternlayout">
        <param name="conversionpattern" value="%date [%thread] %-5level %logger [%property{ndc}] - %message%newline" />
      </layout>
      <filter type="log4net.filter.levelrangefilter">
        <param name="levelmin" value="info" />
        <param name="levelmax" value="info" />
      </filter>
    </appender>
    <appender name="debugappender" type="log4net.appender.rollingfileappender">
      <param name="file" value=".\\logs\\debug\\" />
      <param name="appendtofile" value="true" />
      <param name="maxsizerollbackups" value="30" />
      <param name="staticlogfilename" value="false" />
      <param name="datepattern" value="yyyy-mm-dd&quot;.log&quot;" />
      <param name="rollingstyle" value="date" />
      <layout type="log4net.layout.patternlayout">
        <param name="conversionpattern" value="%date [%thread] %-5level %logger [%property{ndc}] - %message%newline" />
      </layout>
      <filter type="log4net.filter.levelrangefilter">
        <param name="levelmin" value="debug" />
        <param name="levelmax" value="debug" />
      </filter>
    </appender>
  </log4net>
    <startup> 
        <supportedruntime version="v4.0" sku=".netframework,version=v4.5" />
    </startup>
</configuration>
view code

5.在assemblyinfo.cs文件下添加一句配置信息:[assembly: log4net.config.xmlconfigurator(watch = true)],如下图

log4net日志文件的应用

6.在需要打日志的文件里引用using log4net,然后添加ilog变量就可以使用日志功能,如下图:

 log4net日志文件的应用

 

下面是打出的日志文件:

log4net日志文件的应用

 

 至此log4net.dll文件我想你已经都会用了,希望对你有帮助。

最后最后最后,重要的事情说三遍,来着是客,如果您觉得好就推荐或评论下,觉得不好希望能得到您的建议,继续改善.log4net日志文件的应用log4net日志文件的应用