我有一個應用程序,它在log4j.properties文件中爲其配置了log4j日誌記錄。目前,此應用程序在UNIX上運行,並在/ tmp中創建日誌文件。此應用程序需要在Windows上運行,並且在該平臺上,我希望它選擇正確的臨時目錄,我相信它是C:\ temp。以跨平臺方式登錄到臨時目錄
如何更改我的log4j.properties文件以實現此目的?我是否需要切換到使用XML配置文件?
我有一個應用程序,它在log4j.properties文件中爲其配置了log4j日誌記錄。目前,此應用程序在UNIX上運行,並在/ tmp中創建日誌文件。此應用程序需要在Windows上運行,並且在該平臺上,我希望它選擇正確的臨時目錄,我相信它是C:\ temp。以跨平臺方式登錄到臨時目錄
如何更改我的log4j.properties文件以實現此目的?我是否需要切換到使用XML配置文件?
從Log4J v1.2.14開始,我能夠在log4j.xml文件和log4j.properties文件中使用它。在Web上有一些討論,即變量不會在DOMReader中解析,但是它們是在這個版本的log4j中進行的。
<appender name="rolling_file_appender_ourapp" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${user.home}/.mycompany/OurApp.log" />
<param name="Append" value="false" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="3" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d | %-5p | %c | %m | %t | %x %n" />
</layout>
</appender>
或
log4j.appender.rfile=org.apache.log4j.FileAppender
log4j.appender.rfile.layout=org.apache.log4j.PatternLayout
log4j.appender.rfile.Append=false
log4j.appender.rfile.layout.ConversionPattern=%d [%p] %c %m%n
log4j.appender.rfile.File=${user.home}/.mycompany/OurApp.log
「File」參數值中的斜槓是否會在Microsoft操作系統上正確解釋,即作爲反斜槓,還是我需要使用文件分隔符屬性? – 2011-11-09 18:34:23
在寫這個問題,我可能已經找到了答案。儘管如此,我還沒有測試過,而且我會爲人們投票並接受一個很好的答案,讓他人有機會得到一些代表。如果我覺得自己有什麼需要補充的地方,我會發布我的答案,人們可以根據自己的感受上下投票。 – skiphoppy 2008-11-24 16:44:59