我有一个log4j属性文件,它在我的tomcat> bin文件夹中创建一个文件,但是它可以将日志文件写入我项目的根目录吗?的 web应用>试验>? _ __
这是我的log4j属性文件内容。
#define the console appender
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
# now define the layout for the appender
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%t %-5p %c{3} - %m%n
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=/test/a.log
log4j.appender.rollingFile.MaxFileSize=10MB
log4j.appender.rollingFile.MaxBackupIndex=2
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%p %t %c - %m%n
# now map our console appender as a root logger, means all log messages will go to this appender
#for console printing
#log4j.rootLogger = DEBUG, consoleAppender
#for file printing
log4j.rootLogger = DEBUG, rollingFile
答案 0 :(得分:8)
尝试替换它:
log4j.appender.rollingFile.File=/test/a.log
用这个:
log4j.appender.rollingFile.File=../webapps/test/a.log
注意(由Stephen C提供) - “../”表示此解决方案取决于您使用的Tomcat启动机制是否使$ CATALINA_HOME成为托管Tomcat的JVM之前的当前目录。有些人做,有些则不做。
答案 1 :(得分:7)
log4j配置理解"${catalina.home}"
,所以......
log4j.appender.rollingFile.File=${catalina.home}/webapps/test/a.log
但是,我不认为将日志放入webapps
树是一个好主意,因为如果重新部署了webapp,它们可能会被吹走。
将它们放在${catalina.home}/logs
中。
或者更好的是,将它们放在特定于发行版的传统位置以放置应用程序日志文件;例如“/ var / spool / ...”或“/ var / log / ...”。
将日志文件放在标准位置意味着其他人(例如,在您度假时作为备份系统管理员的人)可以调查文件系统是否填满旧日志文件。