当前位置: 移动技术网 > IT编程>开发语言>.net > C#Log4net记录日志

C#Log4net记录日志

2018年11月15日  | 移动技术网IT编程  | 我要评论

七乐彩专家 一休彩票1xcp,klk,徐维孝

1、下载log4net地址:http://logging.apache.org/log4net/download_log4net.cgi

下载到本地,根据自己的需求选择一个合适的log4net.dll版本即可。

2、log4net.dll放在 \bin\release或者 \bin\debug下。

3、解决方案下的引用中去引用该dll。

4、添加一个app.config,可网上查询添加的节点。这里添加一个我自己可以用的。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        <supportedruntime version="v4.0" sku=".netframework,version=v4.0"/>
    </startup>
  <configsections>
    <section name="log4net" type="log4net.config.log4netconfigurationsectionhandler, log4net"/>
  </configsections>
  <!--日志-->
  <log4net>
    <logger name="logerror">
      <level value="all"/>
      <appender-ref ref="log_error"/>
    </logger>
    <logger name="loginfo">
      <level value="debug"/>
      <appender-ref ref="log_info"/>
    </logger>
    <!--<logger name="logconsole">
      <level value="info" />
      <appender-ref ref="consoleappender" />
    </logger>-->
    <!--信息日志-->
    <appender name="log_error" type="log4net.appender.rollingfileappender">
      <!--定义日志存放位置-->
      <param name="file" value="e:\logs\error.log"/>
      <param name="datepattern" value="yyyymmdd"/>
      <param name="appendtofile" value="true"/>
      <param name="maxsizerollbackups" value="100"/>
      <param name="maximumfilesize" value="1mb"/>
      <param name="rollingstyle" value="size"/>
      <param name="staticlogfilename" value="true"/>
      <layout type="log4net.layout.patternlayout">
        <!--输出格式-->
        <param name="conversionpattern" value="%-5level %date %file %type %method() %line %message %n"/>
      </layout>
    </appender>
    <appender name="log_info" type="log4net.appender.rollingfileappender">
      <param name="file" value="e:\logs\info.log"/>
      <param name="datepattern" value="yyyymmdd"/>
      <param name="appendtofile" value="true"/>
      <param name="maxsizerollbackups" value="100"/>
      <param name="maximumfilesize" value="1mb"/>
      <param name="rollingstyle" value="size"/>
      <param name="staticlogfilename" value="true"/>
      <layout type="log4net.layout.patternlayout">
        <param name="conversionpattern" value="%-5level %d [%c] %m%n"/>
      </layout>
      <filter type="log4net.filter.levelrangefilter">
        <param name="levelmin" value="info"/>
        <param name="levelmax" value="error"/>
      </filter>
    </appender>
  </log4net>
</configuration>

5、assemblyinfo.cs中最后一句添加[assembly: log4net.config.xmlconfigurator(configfileextension = "config", watch = true)],否则的话不能写入日志。

6、winform中可以单独建一个类用于存放log4net的实例化。

当然了需要注意的是log4net.logmanager.getlogger("logerror和loginfo")中的“msglogger”要与app.config中相对应。

 1 using system;
 2 using system.collections.generic;
 3 using system.linq;
 4 using system.text;
 5 using system.threading.tasks;
 6 
 7 namespace demo
 8 {
 9     class loghelper
10     {
11         public static log4net.ilog logerror = log4net.logmanager.getlogger("logerror");
12         public static log4net.ilog loginfo = log4net.logmanager.getlogger("loginfo");
13     }
14     
15 }

7、测试一下

using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows.forms;

namespace demo
{
    public partial class form1 : form
    {
        
        public form1()
        {
            initializecomponent();
            loghelper.loginfo.info("ssss");
            loghelper.logerror.info("look look error log.");

        }
    }
}

8、大功告成

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网