log4net的简单使用之三_log4net高级应用
哈。。,看过前两篇,大家基本上使用log4net组件在项目中记录日志,但正如第二篇结尾所说,若不想所有的Appenderf(日志输出方式)都记录日志。比如说一般的可以用数据库写日志,但当数据库连接失败时,只将日志输出到文件中,以便管理员查看日志,查明原因。(胡乱设想,别扔砖头啊),好了,言归正传,说是高级应用,有点过了,哈。。,请大家谅解了。
若想实现上的设想,其实也很简单的,在每个Appenderf方式中加入filter属性,如下:
文件日志中有当级在fatal 和Off之间才记录
 1 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
2
3 <filter type="log4net.Filter.LevelRangeFilter">
<filter type="log4net.Filter.LevelRangeFilter">
4 <levelMin value=" fatal " />
    <levelMin value=" fatal " />
5 <levelMax value=”Off" />
    <levelMax value=”Off" />
6 </filter>
</filter>
7
8 <file value="D:\log-file1.txt" />
      <file value="D:\log-file1.txt" />
9 <!-- Example using environment variables in params -->
      <!-- Example using environment variables in params -->
10 <!-- <file value="${TMP}\log-file.txt" /> -->
      <!-- <file value="${TMP}\log-file.txt" /> -->
11 <!--<sppendToFile value="true" />-->
      <!--<sppendToFile value="true" />-->
12 <!-- An alternate output encoding can be specified -->
      <!-- An alternate output encoding can be specified -->
13 <!-- <encoding value="unicodeFFFE" /> -->
      <!-- <encoding value="unicodeFFFE" /> -->
14 <layout type="log4net.Layout.PatternLayout">
      <layout type="log4net.Layout.PatternLayout">
15 <!--<footer value="[Footer] Test By Ring1981  " />-->
        <!--<footer value="[Footer] Test By Ring1981  " />-->
16 <conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
17 </layout>
      </layout>
18 <!-- Alternate layout using XML
      <!-- Alternate layout using XML            
19 <layout type="log4net.Layout.XMLLayout" /> -->
            <layout type="log4net.Layout.XMLLayout" /> -->
20 </appender>
</appender>
21
 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">2

3
 <filter type="log4net.Filter.LevelRangeFilter">
<filter type="log4net.Filter.LevelRangeFilter">4
 <levelMin value=" fatal " />
    <levelMin value=" fatal " />5
 <levelMax value=”Off" />
    <levelMax value=”Off" />6
 </filter>
</filter>7

8
 <file value="D:\log-file1.txt" />
      <file value="D:\log-file1.txt" />9
 <!-- Example using environment variables in params -->
      <!-- Example using environment variables in params -->10
 <!-- <file value="${TMP}\log-file.txt" /> -->
      <!-- <file value="${TMP}\log-file.txt" /> -->11
 <!--<sppendToFile value="true" />-->
      <!--<sppendToFile value="true" />-->12
 <!-- An alternate output encoding can be specified -->
      <!-- An alternate output encoding can be specified -->13
 <!-- <encoding value="unicodeFFFE" /> -->
      <!-- <encoding value="unicodeFFFE" /> -->14
 <layout type="log4net.Layout.PatternLayout">
      <layout type="log4net.Layout.PatternLayout">15
 <!--<footer value="[Footer] Test By Ring1981  " />-->
        <!--<footer value="[Footer] Test By Ring1981  " />-->16
 <conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />17
 </layout>
      </layout>18
 <!-- Alternate layout using XML
      <!-- Alternate layout using XML            19
 <layout type="log4net.Layout.XMLLayout" /> -->
            <layout type="log4net.Layout.XMLLayout" /> -->20
 </appender>
</appender>21

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