博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
log4net使用中遇到的一些问题
阅读量:6821 次
发布时间:2019-06-26

本文共 1737 字,大约阅读时间需要 5 分钟。

因为项目要记录日志,便于调试,在网上搜了一下。大部分的应用都是用的是log4net这个开源软件,所以我们也就采用了这个开源软件来记录日志信息。

比如说日志文件的配置以及日志的级别打印等功能许多网站上已经有很多的介绍,所以在这里也就不多赘述。
现在想说一下的就是日志过滤器的使用,看了一下别人写的例子,都是一笔代过,没有做详细的介绍,所以我们只好参考官方的API文档来配置了。
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>

没有注意到一些细节问题,所以写的比较简单。。。

转载地址:http://qqazl.baihongyu.com/

你可能感兴趣的文章
大数据(hadoop-HDFS原理分析)
查看>>
usermod命令 、用户密码管理、 mkpasswd命令
查看>>
一周第三次课
查看>>
日常运维(一)
查看>>
SAP数据中心概述
查看>>
Druid数据库连接池就这么简单
查看>>
比特币现金BCH 硬分叉,能否突破$1500?
查看>>
Python最假的库:Faker
查看>>
IDE 插件新版本发布,开发效率 “biu” 起来了
查看>>
基于OAS设计可扩展OpenAPI
查看>>
Java多线程与高并发:java.util.concurrent包
查看>>
阿里云安全肖力:安全基础建设是企业数字化转型的基石
查看>>
Redis 基础、高级特性与性能调优
查看>>
BZT52C15S资料
查看>>
Laravel Telescope入门教程(上)
查看>>
Linux配置ip 及网络问题排查
查看>>
程序员到底有多累,多辛苦?上百万程序员‘知乎上’吐槽
查看>>
C++ Primer 笔记——理解std::move
查看>>
AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库)
查看>>
Kafka入门
查看>>