我正在使用log4j來記錄信息。我使用了log4j.xml
文件來創建日誌文件。我已將每個日誌文件的絕對路徑標記爲param
標記值。如何在appender中給log4j.xml中的動態文件名
例如爲:
<appender name="FA" class="org.apache.log4j.DailyRollingFileAppender">
<param name="DatePattern" value="'_'yyyyMMdd"/>
<param name="File" value="D:/logFiles/GPreprocessor.log"/>
<layout class="com.dnb.genericpreprocessor.common.log.AppXMLLayout"/>
</appender>
我不想直接寫 「GPreprocessor.log」。實際上,該文件名是動態的,基於我的項目名稱。例如,如果我運行程序ABC.java,日誌記錄應該轉到D:/logFiles/ABC.log
,但是如果我運行XYZ.java,日誌記錄應該轉到D:/logFiles/XYZ.log
。該文件的位置將始終保持不變:D:/logFiles/
。我如何動態更改日誌文件的名稱?
請問它支持/需要,如果我給的值。屬性文件?即,而不是定義JVM開始的值,我可以在.properties文件中定義它嗎? – SuRa 2014-12-09 12:45:09
如果您使用 System.setProperty(「logfilename」,「a_cool_logname」); 請確保在記錄任何內容之前設置此項 – James 2017-03-05 15:24:41