编程语言
首页 > 编程语言> > C#添加log4net日志文件

C#添加log4net日志文件

作者:互联网

一、什么是log4net

开源日志记录组件

日志级别:Fatal(致命错误)、Error(一般错误)、Warn(警告)、Info(一般信息)、Debug(调试信息)————>日志级别由高到低

 

二、引用log4net.dll到项目中,配置信息如下

(1)在AssemblyInfo.cs中添加一行代码,指定log4net从配置文件中读取相关配置

//log4net日志文件    添加一行xml解析的定义
[assembly:log4net.Config.XmlConfigurator(Watch=true)]

(2)在App.config中添加对应的节点,及在App.config中添加Log4net.dll的初始化信息

  <!--重点configsections必须是第一个节点1og4net配置-->
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>



  <log4net>
    <!-- name属性指定其名称,type则是log4net.Appender命名空间的一个类的名称,意思是,指定使用哪种介质-->
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志文件存放的地址"D:\App_Log\servicelog\"或者工程根目录"Log\\LogInfo\\"-->
      <param name= "File" value= "Log\\LogInfo\\"/>
      <!--输出的日志不会覆盖以前的信息-->
      <param name= "AppendToFile" value= "true"/>
      <!--备份文件的个数-->
      <param name= "MaxSizeRollBackups" value= "10"/>
      <!--是否使用静态文件名-->
      <param name= "StaticLogFileName" value= "false"/>
      <!--日志文件名-->
      <param name= "DatePattern" value= "yyyy-MM-dd".read.log""/>
      <!--文件创建的方式,这里是以Date方式创建-->
      <param name= "RollingStyle" value= "Date"/>
      <!--日志格式、错误日志布局-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="[%date]-[%thread]-[%-p]-[%logger]-[%M] -> %message%newline" />
        <!--conversionPattern:
            %m(message):输出的日志消息;                    %n(newline):换行;
            %L:输出语句所在的行号;                        %F:输出语句所在的文件名;
            %d(datetime):输出当前语句运行的时刻;           %p(priority): 日志的当前日志级别;
            %t(threadid):当前语句所在的线程ID ;            %c(class):当前日志对象的名称;         
            %r(runtime):输出程序从运行到执行到当前语句时消耗的毫秒数;
            %-10:表示最小长度为10,如果不够,则用空格填充;-->
      </layout>
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogInfo\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd".htm"" />
      <param name="RollingStyle" value="Date" />
      <!--信息日志布局-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>"  />
      </layout>
    </appender>
    <root>
      <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF
          比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录
          如果没有定义LEVEL的值,则缺省为DEBUG-->
      <level value="all" />
      <appender-ref ref="ErrorAppender"/>
      <appender-ref ref="InfoAppender"/>
    </root>
  </log4net>

三、在程序中应用

添加引用,在类中添加实例, 运行程序测试。

//头添加log4net日志包引用
using log4net;


//在类中创建logger实例
        private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

  

 

标签:log4net,C#,App,dll,添加,日志,config
来源: https://www.cnblogs.com/duStar96/p/16312831.html