log4net日志文件的应用

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

1.下载log4net.dll文件

2.创建自己的项目

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

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

贴的代码

<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所有代码

<?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)],如下图

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

 

下面是打出的日志文件:

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

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

原文地址:https://www.cnblogs.com/sxw117886/p/9522054.html