簡體   English   中英

log4j不讀取其log4j.properties文件

[英]log4j doesn't read its log4j.properties file

在Maven項目中,我已將log4j.properties文件放在src \\ main \\ resources目錄中,這似乎是放置它的通常位置。但是,它似乎無法讀取,或者有一個我看不到的錯誤因為我的記錄器不會打印DEBUG級別的消息(盡管它確實會打印INFO級別的消息),也不會創建logs.log文件。 這是我正在使用的log4j.properties文件:

# Root logger option
log4j.rootLogger=DEBUG, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:/.../src/main/resources/META-INF/logs.log
log4j.appender.file.MaxFileSize=10MB
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

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

我還嘗試在運行配置中將路徑傳遞到log4j.properties文件,但它也不起作用: -Dlog4j.configuration=file:D:/.../src/main/resources/log4j.properties該項目是通過另一個綁定項目啟動的,因此我使用了整個文件路徑,這可能是不正確的,因為我所看到的所有示例都沒有提供完整路徑。

我們用於運行該應用程序的服務器是Wildfly 8.1.0,它具有自己的log4j記錄器,所以也許這在某種程度上干擾了?

這是我的攔截器中應該創建日志的部分:

final static Logger logger = Logger.getLogger(RestInterceptor.class);
...    
if(e instanceof ApplicationException) {
        logger.debug(e.getMessage(), e);
        //TODO remove these when done testing
        logger.debug("debug is working");
        logger.info("info is working");
        return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
    }

但是,僅打印“信息正在運行”。

您確定src \\ main \\ resources在您的構建路徑中嗎?

右鍵單擊您的項目-> Java構建路徑[源選項卡]

確保資源文件夾在構建路徑上。 還要確保排除的模式='**'

好吧,所以我設法解決了這個問題。 這是因為Wildfly的記錄器干擾了我的。 我在standalone.xml中添加了<use-deployment-logging-config value="false"/>行,但這還不夠。 在深入研究之后,我還發現並添加了以下行<add-logging-api-dependencies value="false"/> ,它終於開始工作。 盡管我對這種解決方案不完全滿意,但我認為它總比沒有好,也許值得分享。

簡而言之,請將其添加到standalone.xml中,如果您使用的是Wildfly 8,它將解決日志記錄沖突:

<subsystem xmlns="urn:jboss:domain:logging:2.0"> <add-logging-api-dependencies value="false"/> <use-deployment-logging-config value="false"/> ... </subsystem>

更新春季版本。 這個對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM