站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题关于log4j的问题

关于log4j的问题

摘要: 关于log4j的问题


今天我一直在做log4j的东西,可是总是不能成功,现在我将我的问题讲出来,大家帮我看看是什么问题

1.我写了log4j.properties的配置文件,在配置文件中,我定义了两个Appender,想同时在控制台和文件中输出日志,一个是CONSOLE,一个是FILE,这两种也是大家用得最多的
log4j.rootLogger =info,CONSOLE,FILE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=d:/log/file.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d %p [%c] - <%m>%n

2.然后在想输出日志的类中,开头加上
static Logger logger = Logger.getLogger(*.class);
随后在程序中加上logger.debug("***");
这样做会出现这样的问题:启动jboss后,运行过程中会报错:
console appender config detected, console stream is looping,这样在CONSOLE下就不能输出日志了(而且console也停止输出任何东西了),但是在d:/log下生成了file.log文件

后来参考了一下书,改成这样写Log log = LogFactory.getLog(**.class);
可这样写的话,可以在console看到日志,不会在d:/log下生成file.log文件

我现在想在CONSOLE,file下都能输出日志文件,大家知道该怎么弄吗?是不是我的log4j.properties没有装进web容器呀?要在web.xml中对log4j进行初始化吗?



Log log = LogFactory.getLog(**.class);
这个是common-logging里的,不是log4j


好像jboss里面内置了log4j,先把rootlogger改成下面试试

log4j.rootLogger =info,FILE


这里有一篇文章
www.blogjava.net/huabingl

jboss自己有个log4j.xml,lz需要留意
不知道是不是你这个问题的关键


↑返回目录
前一篇: 散散分
后一篇: POI操作Excel