• 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文件我想你已经都会用了,希望对你有帮助。

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

  • 相关阅读:
    debug和release转载
    坐标系与基本图元(8)
    坐标系与基本图元(7)
    坐标系与基本图元(5)
    坐标系与基本图元(6)
    坐标系与基本图元(4)
    坐标系与基本图元(3)
    坐标系与基本图元(2)
    BZOJ 1090
    Xor
  • 原文地址:https://www.cnblogs.com/sxw117886/p/9522054.html
Copyright © 2020-2023  润新知