log4net在多个项目中的应用

 

1、 概述:

        一个好的项目,日志的记录是必不可少的。试想如果用户哪天用着系统突出弹出个“应用程序出错”的页面,那给用户的感觉可不太好了。您的面子上也过不去呀。可麻烦的还在后头,您可能根本就不知道错误发生在了什么地方,因为web.config文件将错误屏蔽掉了。所以日志文件是非常重要的。

2、 正文:

今天这里给大家介绍是一个第三方的日志组建:log4net.园子里已经有很多人讲过这个组件的用法了,也很全面。所以这里不再对这个组件进行过多的讲解,本文注重讲这个组件在多层架构中的应用。

首先呢我们把这个组件用类进行封装,截图如下:

 (注:LogNet为封装后的类)

然后在添加配置文件:Log.config。这里我建议大家尽量把配置文件分离出来,也是便于后期的维护。这里的配置文件我要进行下简单的说明。由于我们的日志文件是放在一个单独的文件夹下,而且是根据日期来生成日志文件的,所以这里的配置要稍微注意下。核心代码如下:

ContractedBlock.gif ExpandedBlockStart.gif Code
 1<log4net>
 2
 3    <root>
 4
 5      <level value="WARN" />
 6
 7      <appender-ref ref="RollingLogFileAppender" />
 8
 9    </root>
10
11    <logger name="MyLog">
12
13      <level value="DEBUG"/>
14
15    </logger>
16
17      <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
18
19        <!--存放日志的路径-->
20
21        <param name="File" value="LogFiles"""/>
22
23        <!--日志文件中追加-->
24
25        <param name="AppendToFile" value="true"/>
26
27        <!--日期文件是否固定不变-->
28
29        <param name="StaticLogFileName" value="false"/>
30
31        <!--最多保存多少天的记录-->
32
33        <param name="MaxSizeRollBackups" value="100" />
34
35        <!--日志名称-->
36
37        <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;"/>
38
39        <!--日志根据日期滚动-->
40
41        <param name="RollingStyle" value="Date"/>
42
43        <layout type="log4net.Layout.PatternLayout"> 
44
45 
46
47        <param name="Header" value="----------------------header-------------------------- " />
48
49        <param name="ConversionPattern" value="%n异常时间:%d%n异常位置:[%t] %-5p %c [%l] %n异常信息: %m%n"/>
50
51        <param name="Footer" value="----------------------footer-------------------------- " />
52
53      </layout>
54
55      <filter type="log4net.Filter.LevelRangeFilter">
56
57        <param name="LevelMin" value="DEBUG" />
58
59        <param name="LevelMax" value="FATAL" />
60
61      </filter>
62
63    </appender>
64
65 </log4net>
66

到这里,我们的日志就算配置完成了。接下就是在其他层中调用了。就这么简单?是的!如果您哪个项目想输入出日志,那直接添加LogNet.dll,然后进行方法调用就OK了,例如:

  public void debug(string msg)
        {
            int i = 2, j = 0;
            try
            {
                int m = i / j;
            }
            catch(Exception er)
            {
                MyLog.error(er.Message);
            }
        }

下面是生成的日志截图:

附:园中log4net详细介绍的文章

附:本文实例下载Demo

转载于:https://www.cnblogs.com/sendrylee/archive/2009/07/13/log4net_.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值