- log4net里面的filter類常用的為:
- 1、DenyAllFilter
- 拒絕所用的日志輸出
- <filter type="log4net.Filter.LevelMatchFilter">
- <param name="LevelToMatch" value="DEBUG" />
- </filter>
- <filter type="log4net.Filter.DenyAllFilter" />
- 上面的配置是如果日志的輸出級別不符合DEBUG要求的話,則不輸出任何日志。
- 2、LevelMatchFilter
- 這個類里面有兩個屬性,一個是LevelToMatch這個屬性是你要匹配輸出日志的級別,比如:
- <filter type="log4net.Filter.LevelMatchFilter">
- <param name="LevelToMatch" value="DEBUG" />
- </filter>
- 這樣的話,只有級別是DEBUG的日志才能輸出。
- 另外這個類還有一個重要的屬性就是AcceptOnMatch這個屬性是設置如果這個條件匹配的話,是否接受輸出打印,比如說:
- <filter type="log4net.Filter.LevelMatchFilter">
- <param name="LevelToMatch" value="DEBUG" />
- </filter>
- <filter type="log4net.Filter.StringMatchFilter">
- <param name="StringToMatch" value="debug" />
- </filter>
- 如果日志的級別為DEBVG的話,也就是說符合了第一個Filter的條件,日志就輸出,則StringMatchFilter就不執行了。如果這樣寫的話,就會繼續向下執行過濾:
- <filter type="log4net.Filter.LevelMatchFilter">
- <param name="LevelToMatch" value="DEBUG" />
- <AcceptOnMatch value="false"></AcceptOnMatch>
- </filter>
- <filter type="log4net.Filter.StringMatchFilter">
- <param name="StringToMatch" value="debug" />
- </filter>
- 如果這樣寫的話,即使第一個Filter符合了條件則第二個Filter也會繼續執行。
- 3、LevelRangeFilter
- 配置文件是這樣的:
- <filter type="log4net.Filter.LevelRangeFilter">
- <param name="LevelMin" value="DEBUG" />
- <param name="LevelMax" value="ERROR" />
- </filter>
- 4、LoggerMatchFilter
- 配置文件是這樣的:
- <filter type="log4net.Filter.LoggerMatchFilter">
- <param name="LoggerToMatch" value="Client" />
- </filter>
- 5、StringMatchFilter
- 配置文件是這樣的:
- <filter type="log4net.Filter.StringMatchFilter">
- <param name="StringToMatch" value="/blog/Client.Program" />
- </filter>
level定義記錄的日志級別,就是說,你要記錄哪個級別以上的日志,級別由低往高依次是:
ALL
DEBUG
INFO
WARN
ERROR
FATAL
None
說明:有的博客中寫的是INFO的比DEBUG的低,可是進過我的親自測驗,還是INFO的比DEBUG的要高