关于log4j日志的问题,救命啊

lekey 2004-11-22 02:20:49
我想把error的信息输出到日志文件error.log,把debug的信息输出到日志文件debug.log
可是debug.log把error的内容也写进去了,我只想要debug的内容,可能是级别的问题,我的properties配置文件如下:

log4j.rootLogger=DEBUG,CONSOLE,myDEBUG,myError
log4j.addivity.org.apache=true

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n



log4j.appender.myDEBUG=org.apache.log4j.RollingFileAppender
log4j.appender.myDEBUG.Threshold=DEBUG
log4j.appender.myDEBUG.File=D:/testtest/exploded/debug.log
log4j.appender.myDEBUG.Append=false
log4j.appender.myDEBUG.layout=org.apache.log4j.PatternLayout
log4j.appender.myDEBUG.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n


log4j.appender.myError=org.apache.log4j.FileAppender
log4j.appender.myError.Threshold=ERROR
log4j.appender.myError.File=D:/testtest/exploded/error.log
log4j.appender.myError.Append=false
log4j.appender.myError.layout=org.apache.log4j.PatternLayout
log4j.appender.myError.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n


请问各位大侠该怎样配置呢
...全文
289 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
双层木屋 2004-11-30
  • 打赏
  • 举报
回复
有意思
zhaoyongqiang 2004-11-30
  • 打赏
  • 举报
回复
UP
marvelstack 2004-11-29
  • 打赏
  • 举报
回复
学习
haroyy 2004-11-23
  • 打赏
  • 举报
回复
不可能实现
xitianjile 2004-11-23
  • 打赏
  • 举报
回复
我用log4j老串写.
zj_ok 2004-11-23
  • 打赏
  • 举报
回复
好像不行把,干麻要分开呢?debug信息中有error不是很好吗?
lekey 2004-11-23
  • 打赏
  • 举报
回复
回复人: icy_csdn() ( )
那应怎样实现呢,我只想要debug中的信息,不想要别的信息,请指点
weidy 2004-11-23
  • 打赏
  • 举报
回复
一个变通的方法:

所有的debug信息都用一个固定名称的日志书写器,再配置这个书写器,输出到特定的文件.比如:

Log log = LogFactory.getLog("log.debuglog");

log4j.appender.log.debuglog=org.apache.log4j.RollingFileAppender
log4j.appender.log.debuglog.Threshold=DEBUG
log4j.appender.log.debuglog.File=D:/testtest/exploded/debug.log
log4j.appender.log.debuglog.Append=false
log4j.appender.log.debuglog.layout=org.apache.log4j.PatternLayout
log4j.appender.log.debuglog.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

说白了,这个日志书写器就只调用 debug()方法.
cnfalcon 2004-11-22
  • 打赏
  • 举报
回复
学习
icy_csdn 2004-11-22
  • 打赏
  • 举报
回复
是因为error的优先级别要高于debug, 所以error的信息也会log。
如果你设定LEVEL为DEBUG,事实上,任何高于debug的信息也都会log, 如info ,warn, error, fatal

ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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