log4net使用说明



先附上实现代码:http://download.csdn.net/detail/sinat_22013331/9570632



log4net的使用过程说明:

我理解的log4net的使用可以简单的概括为:引用dll文件 -- 配置log4net.config -- 加载配置文件 -- 定义LogHelper类 -- 使用LogHelper



step 1:对项目添加引用log4net.dll

下载一个log4net包,将log4net.dll文件拷贝到项目的根目录下,并在项目中添加该文件的引用



step 2:在项目config文件中添加配置信息

在项目的config配置文件中添加下面的配置信息,这个config文件可以是web.config,也可能是app.config,或者是其他类的项目的全局配置文件

<?xml version="1.0"?>
<configuration>
  
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  
</configuration>


step 3:定义log4net.config配置文件

在log4net配置文件中,定义输出格式和输出形式。比如下面的例子:

<?xml version="1.0"?>
<configuration>
 
  <log4net>
    <!--定义输出到文件中-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      
      <!--定义文件存放位置-->
      <file value="log\\"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <datePattern value="yyyy-MM-dd'.txt'"/>
      <staticLogFileName value="false"/>
      <param name="MaxSizeRollBackups" value="100"/>
      <layout type="log4net.Layout.PatternLayout">
        <!--每条日志末尾的文字说明-->
        <!--输出格式-->
        <!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
        <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>
      </layout>
    </appender>
    <root>
      <level value="ERROR"/>
      <!--文件形式记录日志-->
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>
  
</configuration>

这个例子中,只定义了一种输出形式,就是以文本文件的形式输出。还可以用其他形式输出,这就需要别的配置文件了。



step 4:在项目主入口配置log4net.config文件

这里的配置分为三步,首先是找到log4net的路径,其次是获取这个文件,第三步就是configurator加载配置信息

           // string filePath = Server.MapPath("~/log4net.config");
            string filePath = "log4net.config";
            FileInfo fileInfo = new FileInfo(filePath);

            XmlConfigurator.ConfigureAndWatch(fileInfo);
在web项目中可以使用server.MapPath获取文件的虚拟路径。而我这里只是做一个测试,所以直接把log4net放在文件根目录的debug文件夹下,使之能够被找到。

然后用FileInfo获取文件信息,用XmlConfigurator来配置文件。



step 5:定义一个LogHelper类,封装需要做的操作

在这个类的前面,要加上读取配置信息的操作,[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

需要注意的是这条语句要放在命名空间前面。

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
namespace Log4netTest
{
    class LogHelper
    {
        #region 记录exception

        public static void WriteLog(Type t, Exception e)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(t);
            log.Error("Error",e);
        }
        #endregion


        #region 记录某条message

        public static void WriteLog(Type t, string msg)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(t);
            log.Error(msg);
        }

        #endregion

    }
}


这样就完成了基本配置方案,最后只需要在程序中有需要的地方调用LogHelper即可


step 6:调用LogHelper,实现日志记录

            //记录某条string
            LogHelper.WriteLog(typeof(Program), "测试是否实现了日志功能");


            int[] a = new int[2];
            try
            {
                for (int i = 0; i < 5; i++)
                {
                    a[i] = i;
                }
            }
            catch (Exception e)
            {
                //记录某个exception
                LogHelper.WriteLog(typeof(Program), e);
            }


如下图,已经实现了错误日志记录的功能。具体的实现请下载实现代码来解读,链接在文首。




详细的错误信息如下:
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值