哈。。,看过前两篇,大家基本上使用log4net组件在项目中记录日志,但正如第二篇结尾所说,若不想所有的Appenderf(日志输出方式)都记录日志。比如说一般的可以用数据库写日志,但当数据库连接失败时,只将日志输出到文件中,以便管理员查看日志,查明原因。(胡乱设想,别扔砖头啊),好了,言归正传,说是高级应用,有点过了,哈。。,请大家谅解了。

若想实现上的设想,其实也很简单的,在每个Appenderf方式中加入filter属性,如下:

文件日志中有当级在fatal Off之间才记录


 1 log4net的简单使用之三_log4net高级应用_filter< appender name = " LogFileAppender "  type = " log4net.Appender.FileAppender " >
 2 log4net的简单使用之三_log4net高级应用_filter
 3 log4net的简单使用之三_log4net高级应用_filter < filter type = " log4net.Filter.LevelRangeFilter " >
 4 log4net的简单使用之三_log4net高级应用_filter     < levelMin value = "  fatal  "   />
 5 log4net的简单使用之三_log4net高级应用_filter     < levelMax value = ”Off "  />
 6 log4net的简单使用之三_log4net高级应用_filter </ filter >
 7 log4net的简单使用之三_log4net高级应用_filter
 8 log4net的简单使用之三_log4net高级应用_filter       < file value = " D:\log-file1.txt "   />
 9 log4net的简单使用之三_log4net高级应用_filter       <!--  Example  using  environment variables  in   params   -->
10 log4net的简单使用之三_log4net高级应用_filter       <!--   < file value = " ${TMP}\log-file.txt "   />   -->
11 log4net的简单使用之三_log4net高级应用_filter       <!--< sppendToFile value = " true "   />-->
12 log4net的简单使用之三_log4net高级应用_filter       <!--  An alternate output encoding can be specified  -->
13 log4net的简单使用之三_log4net高级应用_filter       <!--   < encoding value = " unicodeFFFE "   />   -->
14 log4net的简单使用之三_log4net高级应用_filter       < layout type = " log4net.Layout.PatternLayout " >
15 log4net的简单使用之三_log4net高级应用_filter         <!--< footer value = " [Footer] Test By Ring1981  "   />-->
16 log4net的简单使用之三_log4net高级应用_filter         < conversionPattern value = " %date [%thread] %-5level %logger [%ndc] &lt;%property{auth}&gt; - %message%newline "   />
17 log4net的简单使用之三_log4net高级应用_filter       </ layout >
18 log4net的简单使用之三_log4net高级应用_filter       <!--  Alternate layout  using  XML            
19 log4net的简单使用之三_log4net高级应用_filter             < layout type = " log4net.Layout.XMLLayout "   />   -->
20 log4net的简单使用之三_log4net高级应用_filter </ appender >
21 log4net的简单使用之三_log4net高级应用_filter

 

我把上次的实例又修改了,源码请下载


      写这三篇关于log4net的文章,只希望能为初学者更好的入门,因为log4net是开源组件,大家在基本应用不能满足自己的项目要求时,可以对log4net进行扩展。其实所有的介绍,在log4net官方文档中都有更加详细的讲解,若在大家想进一步学习log4net, 请到官方网站上down最新版本。哈。。,本系列文章到此就结束了。