簡體   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