我在將應用程序部署到正在運行JRE 1.7的其他計算機時崩潰的應用程序遇到問題。當我在我的PC上運行NetBeans內部(甚至直接從JAR文件)時,一切都很好。但在另一臺計算機上,它在執行期間的特定事件(按鈕點擊)時失敗。Log4j - 無法找到日誌文件
所以,我瞭解了使用log4j庫進行日誌記錄的情況。這給了我一些關於我的應用程序中的問題的信息,並且記錄工作完美,再次在我的電腦上。但是,當我將JAR文件部署到僅運行JRE(Java 7 Update 17)的其他計算機時,我無法找到任何日誌文件的跟蹤。
這裏是我的log4j.properties文件:
# Root logger option
log4j.rootLogger=INFO, file, stdout
# Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\logging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
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
在我的電腦,我可以看到logging.log文件直接在項目文件夾中。就此而言,一切都很完美。但是,在用戶PC上,根本沒有該文件的標誌。不在C:\(我認爲它會),而不是在C:\ Program Files文件(x86)\或任何其他地方。我已經完成了我的硬盤的完整搜索,但沒有回來。
這個文件應該存儲在哪裏?我的屬性設置是否正確?非常困惑...
謝謝!
目標機器上的用戶能否在c盤的根目錄下創建文件? – DwB 2013-03-25 18:08:09
首先,屬性文件中的反斜槓需要加倍:'C:\\ logging.log'。或者使用正斜槓,因爲windows會接受它們:'C:\ logging.log' – Kenster 2013-03-25 18:11:21
DwB - 是的,它們擁有c:\的全部權限。我不相信這是一個權限問題。 – Alex 2013-03-25 19:03:03