簡體   English   中英

log4j停止記錄到文件,

[英]log4j stopped logging to the file,

我在我的java應用程序中使用log4j,但經過一段時間沒有拋出任何異常它停止了日志記錄

我的log4j配置如下。

log4j.rootLogger=INFO,FILE
log4j.appender.FILE=com.test.TestFIleAppender
log4j.appender.FILE.MaxFileSize=20MB
log4j.appender.FILE.MaxBackUpIndex=200

我的文件追加器包含一些代碼來執行zip操作並指定日志文件格式等等。

這段時間記錄正常,但突然停止記錄,也沒有異常拋出

任何人都可以告訴我這是什么問題嗎?

任何人都知道這樣的log4j相關問題嗎?

這發生在我身上。 工作一天然后不工作。 我回過頭來意識到我已經改變了POM的依賴關系並做了一些谷歌搜索。

當我更正此問題時,我的日志記錄返回。 我會確保你有以下工件同步:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.1</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.1</version>
    </dependency>

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

http://www.slf4j.org/manual.html

很難回答,為什么你的日志記錄停止了。

首先,檢查硬盤空間是否已滿。

比編寫一個測試用例,其中一個線程每秒輪詢一個INFO類型的日志消息。 比你可以檢查這是空間還是內存問題。

請注意:當您的程序正在某個地方等待並且沒有任何線程或操作正在運行時,您將看不到任何記錄消息。 請通過調試檢查代碼行是否在循環中執行(或者如您所希望看到的消息),其中應顯示日志消息。

這是我的log4j屬性文件的一個示例。 可能是有幫助的:

log4j.rootLogger=INFO, stdout, logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) [%c] - %m%n

log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=C:/log/client.log
log4j.appender.logfile.MaxFileSize=5MB
log4j.appender.logfile.MaxBackupIndex=0
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

在將沙丁魚庫添加到我的依賴項后,它發生在我身上。 然后,從這里的一個答案我添加了slf4j-log4j12庫到依賴項,它開始再次工作。

您是否考慮過log4j仍在寫入文件的可能性,但該文件已被自定義appender從其父目錄中取消鏈接?

可能是一種非常罕見的情況,但我曾經遇到過使用Cloner引起的類似問題。 在啟用log4j日志記錄的情況下克隆對象后,日志記錄才停止工作。 解決方案是從克隆中排除log4j類:

cloner.dontClone(org.apache.log4j.Logger.class, org.apache.log4j.LogManager.class,)

暫無
暫無

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

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