当前位置: 代码迷 >> J2EE >> 使用log4j时总是写入不到文件中
  详细解决方案

使用log4j时总是写入不到文件中

热度:40   发布时间:2016-04-17 23:01:22.0
使用log4j时老是写入不到文件中
因为觉得javaEE中,log4j比较有用,就想用这个。但是今天配置好了之后,反复试验了好多次,都没有成功。其中log4j中的代码如下:
# Root logger option
log4j.rootLogger=DEBUG, file

# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/logs/logger.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

在tomcat的控制台中确实是输出了信息,但是我想要的是输出到文件中,请问为什么会输出不到文件中?其中File参数,我设置过绝对路径,但是不管用。
------解决思路----------------------
放到src下面,默认LogManager值找下面的log4j.properties(也就是编译过后的classes里),可以下源码看一下。
同时需要在类中直接写private static Logger logger = Logger.getLogger(xxx.class);
这个主要是在LogManager里面有个静态代码块查找配置文件的。
------解决思路----------------------
这样写这个logger不是一直变来变去了...
一般webxml里面配个log4j的listener,指定好配置文件
然后后面只用在自己那个要log的类里面写Logger log = Logger.getLogger(xxxxx.class)这样的
还有就是楼主之前没报这错只是改了下log4j的配置文件内容就报找不到了?