0
我們的Swing應用程序不限制應用程序實例用戶打開的數量,即用戶可以通過多次訪問JWS鏈接來運行儘可能多的應用程序實例。在這裏,我的問題是,如果我使用log4j記錄許多應用程序實例(jvm)將共享相同的日誌文件,對吧?是否有任何鎖定問題,或者這些應用程序實例可以將它們的日誌寫入相同的日誌文件而不發生衝突?在Swing應用程序中使用log4j
我們的Swing應用程序不限制應用程序實例用戶打開的數量,即用戶可以通過多次訪問JWS鏈接來運行儘可能多的應用程序實例。在這裏,我的問題是,如果我使用log4j記錄許多應用程序實例(jvm)將共享相同的日誌文件,對吧?是否有任何鎖定問題,或者這些應用程序實例可以將它們的日誌寫入相同的日誌文件而不發生衝突?在Swing應用程序中使用log4j
嗯,問題是:是否讓你的應用程序的所有實例都被寫入一個文件是一個好方法。日誌記錄的含義是識別應用程序中的錯誤。如果您使用相同的文件,您將無法知道哪個實例拋出異常以及錯誤出現的位置。也許你可以改變你的日誌架構,所以這個錯誤不會發生。 嘗試對實例進行計數或生成實例ID並將其附加到日誌文件,
是的,我只是想考慮爲不同的應用程序實例使用不同的日誌文件。但是需要更多的努力來維護這些日誌文件,例如,在用戶打開並關閉應用程序之後,越來越多的日誌文件變得很大,我們需要一個清除歷史無用日誌文件的好方法。可以log4j做到這一點? –
是的,你可以通過log4j.appender.R.MaxFileSize = 100KB限制log-filesize來解決這個問題#保留一個備份文件 log4j.appender.R.MaxBackupIndex = 1 –
但這個配置可能只適合我的第一個將所有實例應用程序日誌文件寫入僅一個文件的解決方案。但是,如果一個應用程序實例使用一個日誌文件(使用時間戳或實例ID等來標識對方),日誌文件的數量不能輕易由log4j控制,對吧? –