日期:2014-05-20  浏览次数:20625 次

log4j 日志过滤
在一个工程中有多个package,例如有两个包com.a.b; com.a
利用log4j我怎样才能把com.a.b日志不输出,只输出com.a中除com.a.b的日志
好像在log4j的配置文件无法实现,请问通过什么方式能实现。
能否利用log4j的Filter,不清楚怎么去实现这个filter

------解决方案--------------------
这个实现是需要你控制工程的使用的logger的,log4j能控制很多logger,如果你在工程中有计划的在不同的包中使用不通的logger,那么输出日志就可以根据你的需要调整,如果你都用一个logger,那肯定不行,所以日志的输出也是要有规划的,不是乱来的。
------解决方案--------------------
Logger log1=Logger.getLogger("logger1");
Logger log2=Logger.getLogger("logger2");
Logger log3=Logger.getLogger("logger3");
Logger log4=Logger.getLogger("logger4");

其中参数中的那些名字是可以在配置文件中单独配置的。你只要在不通的类或者包中使用不同的名字就可以单独配置是否输出了
------解决方案--------------------
Logger log1=Logger.getLogger("logger1");
Logger log2=Logger.getLogger("logger2");
Logger log3=Logger.getLogger("logger3");
Logger log4=Logger.getLogger("logger4");

其中参数中的那些名字是可以在配置文件中单独配置的。你只要在不通的类或者包中使用不同的名字就可以单独配置是否输出了
------解决方案--------------------
这样呀,给你说呀,对于log4j 的使用,你也应该知道吧,以上楼主都有介绍到,对于不想输出的内容,其文档中不去加载logger log=logger.getLogger(文档名);
即可,它也就不会写啦,
还有对于你的这样的,给我的以前的文档:http://blog.csdn.net/loaferwang/archive/2008/03/27/2223740.aspx