簡體   English   中英

Log4j 與 Java 應用讀寫

[英]Log4j With Java Application Reading And writing

我有這樣的場景:這是使用 Java 和 Log4J

我有一個 id 列表,通過傳遞這個 id,我將獲取 id 的元數據。 獲得信息后,我需要將其推送到其他應用程序。

我的要求是這樣的:

  1. 當無法推送 ID 時,由於網絡故障或其他應用程序出現問題等任何問題,我需要將所有這些未推送到日志文件的 id 寫入。

  2. 從下一次運行開始,我必須讀取此日志文件並推送所有在上一次運行中未能推送的 id。 如果成功,則需要刪除日志,如果沒有,則保留它和/或不推送更多 id。

現在,我實現了一個 Log4j 系統,它簡單地將我們的應用程序消息記錄到一個日志文件中:

代碼如下:

log4j.rootLogger=DEBUG, stdout, file

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.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\logs\\logging.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

請給我一個建議如何使用 Java 代碼實現這一點。

你不應該為此使用 Log4J,這不是它的目的。 您應該使用不同的存儲(單獨的文件或數據庫)來保存此信息以便重新處理它。 Log4J 和日志記錄通常用於跟蹤應用程序執行以發現潛在問題等。它有自己的機制或寫作,它輪換日志文件,它添加了許多其他信息,適用於完全不同的東西。

暫無
暫無

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

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