log4net日志记录

log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。
使用方法简单介绍:
第一步:以web项目为例,首先下载log4net.dll文件,放到项目目录中,然后添加引用:

log4net日志记录

log4net日志记录

 

log4net日志记录

 

第二步:新建或复制Log4Net.config文件到项目目录,这是日志的配置文件,很重要
Log4Net.config文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
  
  <log4net debug="true">
    <logger name="logerror">
      <level value="ALL" />
      <appender-ref ref="LogAppender" />
    </logger>
    <logger name="loginfo">
      <level value="ALL" />
      <appender-ref ref="LogAppender" />
    </logger>

    <appender name="LogAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\" />
      <!-- File 输出到什么目录-->
      <param name="AppendToFile" value="true" />
      <!-- AppendToFile 是否覆写到文件中-->
      <param name="MaxSizeRollBackups" value="30" />
      <!-- MaxSizeRollBackups 备份文件的个数-->
      <param name="MaxFileSize" value="10240" />
      <!-- MaxFileSize 单个日志文件最大的大小-->
      <param name="StaticLogFileName" value="false" />
      <!-- StaticLogFileName 是否使用静态文件名-->
      <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" />
      <!-- DatePattern 日志文件名-->
      <param name="RollingStyle" value="Date" />

      <!--布局-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" 
          value="===================================================================================%n【记录时间】%d  日志级别:%-5p  日志类:%c [%x]%n【描述信息】%m %n"/>
      </layout>
    </appender>
    
  </log4net>
</configuration>

 

第三步:新建公用LogHelper.cs,用来调用log4net
LogHelper.cs内容如下:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;

namespace Log4Trac
{
    public class LogTrac
    {
        public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
        public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
      
        public static void WriteLog(string message)
        {
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(message);
            }
        }

        public static void WriteLog(string info, Exception ex)
        {
            if (logerror.IsErrorEnabled)
            {
                logerror.Error(info, ex);
            }
        }

    }
}

 

第四步:在AssemblyInfo.cs文件中添加代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
这行代码很关键。如图:

log4net日志记录

 

第五步:写日志,在你需要写日志的cs文件中,先using Log4Trac,然后:
常规日志:

LogTrac.WriteLog("这是测试日志! 常规日志!" );

错误日志:

    try
    {
        ……
    }
    catch (Exception e)
    {
        string msg = "执行出错!"  + e.Message;
        LogTrac.WriteLog(msg, e);
    }

 


 

上一篇:有没有办法在log4net中的C#代码中查看记录的消息?


下一篇:c# – 使用Windows安装程序部署项目时,log4net不会生成日志文件