繁体   English   中英

Log4j未在属性文件中查找配置

[英]Log4j is not finding configuration in properties file

我的log4j.properties文件是:

# Log levels
log4j.rootLogger=INFO,CONSOLE,file
# Appender Configuration
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
# Pattern to output the caller's file name and line number
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# Rolling File Appender
log4j.appender.file=org.apache.log4j.RollingFileAppender
# Path and file name to store the log file
log4j.appender.file.File=C:/Logging/log4jFile.log
log4j.appender.file.MaxFileSize=200KB
# Number of backup files
log4j.appender.file.MaxBackupIndex=2
# Layout for Rolling File Appender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d - %c - %p - %m%n

并且log4j.properties文件的位置在我的项目的WEB-INF中。 所以当我运行我的servlet时,我得到以下消息:

log4j:WARN找不到logger(...)的appender。

log4j:WARN请正确初始化log4j系统。

哪里出错了,我不明白!

我很确定默认Log4J在classes目录中搜索。 所以尝试将log4j.properties放在那里。

这是因为log4j在log4j.properties的类路径中搜索,而WEB-INF文件夹不是其中的一部分,而是classes目录。 因此要么将文件放在classes目录中,要将文件添加到类路径中,要么手动加载到Servlet中:

下面是我的log4j属性文件,对我有用。 它需要位于src / main / resources源文件夹中。 我注意到我和你之间的顶线是不同的,所以可能这是不正确的 - 尝试将rootLogger更改为rootCategory。

log4j.rootCategory=INFO, CONSOLE, FILE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=ERROR
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %c- %m%n

log4j.logger.com.myCompany.log4jexample= TRACE, FILE, CONSOLE

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=Logs.log
log4j.appender.FILE.Threshold=WARN
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d %-5p %c- %m%n

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM