Log4j按级别输出到不同文件
log4j.properties 文件:
log4j.logger.net.sf.hibernate.cache=debug
log4j.rootLogger = error,portal_log,shop_log
log4j.appender.ROLLING_FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ROLLING_FILE.File=/logs/PT.log
log4j.appender.ROLLING_FILE.DatePattern='.'yyyy-MM-dd'.log'
#log4j.appender.ROLLING_FILE.Append=true
#log4j.appender.ROLLING_FILE.MaxFileSize=50MB
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.logger.portal_log=INFO, portal_log
log4j.appender.portal_log=com.aisino.global.context.common.logs.MyAppender
log4j.appender.portal_log.Append=true
log4j.appender.portal_log.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.portal_log.File=/logs/portal_log.log
log4j.appender.portal_log.Threshold=INFO
log4j.appender.portal_log.layout=org.apache.log4j.PatternLayout
log4j.appender.portal_log.layout.ConversionPattern=%m%n
log4j.additivity.portal_log=false
log4j.logger.shop_log=INFO, shop_log
log4j.appender.shop_log=com.aisino.global.context.common.logs.MyAppender
log4j.appender.shop_log.Append=true
log4j.appender.shop_log.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.shop_log.File=/logs/shop_log.log
log4j.appender.shop_log.Threshold=INFO
log4j.appender.shop_log.layout=org.apache.log4j.PatternLayout
log4j.appender.shop_log.layout.ConversionPattern=%m%n
log4j.additivity.shop_log=false
配置中关键的配置说明是这一句:
log4j.appender.debug.Threshold = INFO
而它的作用是输出INFO级别以上的内容到日志文件中,所以以上pt.log,shop_log.log,portal_log .log文件中都会包含了ERROR级别的文件。
这就比较烦,得到了我所不要想要的日志信息!!!!!
解决办法是:定义自己的Appender类,继承DailyRollingFileAppender,改写针对Threshold 的设置说明(重写针对级别的比较方法)
源代码:
- public boolean isAsSevereAsThreshold(Priority priority) {
- return threshold == null || priority.isGreaterOrEqual(threshold);
- }
重写 isAsSevereAsThreshold(Priority priority)方法:
- public class MyAppender extends DailyRollingFileAppender {
- @Override
- public boolean isAsSevereAsThreshold(Priority priority) {
- //只判断是否相等,而不判断优先级
- return this.getThreshold().equals(priority);
- }
- }
这样,进行唯一判断,只有当Threshold与priority一致时,才进行输出,就实现了真正Log4j按照级别输出日志文件。
备份,仅供参考!!!
Log4j按级别输出到不同文件的更多相关文章
- Log4j按级别输出日志到不同文件配置分析 (转:projava)
关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 log4j.rootLogger=info,stdout,in ...
- Log4j按级别输出日志到不同文件配置
1.自定义LogFileAppender类,继承DailyRollingFileAppender,实现Log4j按级别输出日志到不同文件. package com.liying.mango.commo ...
- Log4j按级别输出日志到不同文件配置分析
关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 log4j.rootLogger=info,stdout,in ...
- log4j2按日志级别输出到指定文件
在项目中,可能会产生非常多的日志记录,为了方便日志分析,一般可以将日志按级别输出到指定文件,本次就先说说log4j2的实现吧: 1.先加入log4j2依赖包 2.写一个java类进行测试,类文件中仅仅 ...
- log4j按级别输出日志文件
log4j.properties: BASE_DIR= /home/admin/preprocess-tmc-city/logs log4j.rootLogger=debug,stdout,debug ...
- log4net按照不同的【LEVEL】级别输出到不同文件
Log4net按照不同级别写入多个日志文件 2012-02-08 15:06 by Fred-Xu, ... 阅读, ... 评论, 收藏, 编辑 在一个Web应用项目中,我使用了Fluent NHi ...
- log4net按照不同的级别输出到不同文件
配置目标: 1)一个文件记录全部级别的日志: 2)记录某一级别的日志(使用LevelRangeFilter进行级别的过滤). Eg: <log4net> <appende ...
- log4j配置文件及java调用 每个级别输出到不同的文件
#配置根Logger log4j.rootLogger = DEBUG , RollingFile,CONSOLE #文件大小达到一定尺寸的时候创建一个新的文件 log4j.appender.Roll ...
- log4j.xml配置,包含自定义log4j日志级别及输出日志到不同文件
一.配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configura ...
随机推荐
- Excel2013 基本用法(下)
排序 按行/列排序 选择单元格,点击"排序"(点击之后自动全选) 点击选项,弹出"排序选项",根据自己需要选择按行排序/按列排序. 输入排序条件. 确定. 复杂 ...
- 点击页面判断是否安装app并打开,否则跳转app store的方法
常常有这样的场景,咱们开发出来的APP需要进行推广,比如在页面顶部来一张大Banner图片,亦或一张二维码.但往往我们都是直接给推广图片加了一个下载链接(App Store中的).所以咱们来模拟一下用 ...
- 企业号查询部门id(改版后)
1.搜索部门,输入"名称" 2.在后面可以查到部门ID
- Sublime 3 如何配置SVN插件
在sublime里面安装svn的插件,就可以在sublime的操作界面里面进行相关svn操作,这样就不用再回到文件系统中,进行相关svn的操作. 1.在进入sublime界面后,点击顶部菜单“Pref ...
- OE学习笔记流水
Terrain.cpp中的getWorldCoordsUnderMouse函数,进行标记.
- Cocoapods - pod install 成功后找不到头文件解决
问题描述:使用Cocoapods时,import 找不到头文件. 问题原因:这是因为还没设置头文件的目录. 解决办法:在项目的Target的里设置一下,添加cocoapods头文件目录:目录路径直接写 ...
- android UI控件小记
1.关于text和drawableTop之类的间距 android:drawablePadding="10dp" 2.EditText属性 android:phoneNumber= ...
- LightGBM中GBDT的实现
现在LightGBM开源了,这里将之前的一个文档发布出来供大家参考,帮助更快理解LightGBM的实现,整体思路应该是类似的. LightGBM优雅,快速,效果好,希望LightGBM越来越好:) L ...
- 剑指Offer-【面试题03:二维数组中的查找】
package com.cxz.question3; /* * 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. * 请完成一个函数,输入这样的一个二维数组和 ...
- 用python DIY一个图片转pdf工具并打包成exe
最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下: 这里主要用了reportlab.开始打算随便写几行,结果为若干坑纠结了挺久,于 ...