ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#添加log4net日志文件

2022-05-26 11:34:28  阅读:229  来源: 互联网

标签:log4net C# App dll 添加 日志 config


一、什么是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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有