log4j 日志过滤

chenggm 2008-06-17 03:00:52
在一个工程中有多个package,例如有两个包com.a.b; com.a
利用log4j我怎样才能把com.a.b日志不输出,只输出com.a中除com.a.b的日志
好像在log4j的配置文件无法实现,请问通过什么方式能实现。
能否利用log4j的Filter,不清楚怎么去实现这个filter
...全文
804 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zola25 2012-03-09
  • 打赏
  • 举报
回复
我也在实际的工作中遇到类似楼主的需求~但是我的需求跟楼主有点区别,我的需求是这样的,我想把com.a.b下的日志输出到另外个文件,除com.a.b目录外com.a输出在一个日志文件;研究了半天发现可以这么配置
<category name="com.a">
<priority value="DEBUG"/>
<appender-ref ref="FILE1"/>
</category>
<category name="com.a.b" additivity="false">
<priority value="DEBUG"/>
<appender-ref ref="FILE2"/>
</category>
楼主可以通过这种方法,把com.a.b的配置的输入日志级别调高,估计也能满足你的需求
zidasine 2008-06-18
  • 打赏
  • 举报
回复
关注.......学习
loaferwang 2008-06-18
  • 打赏
  • 举报
回复
这样呀,给你说呀,对于log4j 的使用,你也应该知道吧,以上楼主都有介绍到,对于不想输出的内容,其文档中不去加载logger log=logger.getLogger(文档名);
即可,它也就不会写啦,
还有对于你的这样的,给我的以前的文档:http://blog.csdn.net/loaferwang/archive/2008/03/27/2223740.aspx
老紫竹 2008-06-17
  • 打赏
  • 举报
回复
楼主截止到2008-06-17 15:44:03的汇总数据:
发帖数:3
结贴数:2
结贴率:66.67%
chenggm 2008-06-17
  • 打赏
  • 举报
回复
不明白,能否说得更详细点呢
lovingprince 2008-06-17
  • 打赏
  • 举报
回复
Logger log1=Logger.getLogger("logger1");
Logger log2=Logger.getLogger("logger2");
Logger log3=Logger.getLogger("logger3");
Logger log4=Logger.getLogger("logger4");

其中参数中的那些名字是可以在配置文件中单独配置的。你只要在不通的类或者包中使用不同的名字就可以单独配置是否输出了
lovingprince 2008-06-17
  • 打赏
  • 举报
回复
Logger log1=Logger.getLogger("logger1");
Logger log2=Logger.getLogger("logger2");
Logger log3=Logger.getLogger("logger3");
Logger log4=Logger.getLogger("logger4");

其中参数中的那些名字是可以在配置文件中单独配置的。你只要在不通的类或者包中使用不同的名字就可以单独配置是否输出了
chenggm 2008-06-17
  • 打赏
  • 举报
回复
请问下怎么使用不同的logger呢
LogFactory.getLog("");
重写log4j的LogFactory获取不同的logger
lovingprince 2008-06-17
  • 打赏
  • 举报
回复
这个实现是需要你控制工程的使用的logger的,log4j能控制很多logger,如果你在工程中有计划的在不同的包中使用不通的logger,那么输出日志就可以根据你的需要调整,如果你都用一个logger,那肯定不行,所以日志的输出也是要有规划的,不是乱来的。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧