是否有一種簡單的方法可以實現我在主題中描述的內容?java Apache L4J - 僅在運行時期間記錄文件已知
我知道,通常,l4j.properties包含有關文件的信息,我們存儲信息的位置。問題在於運行時會有文件,所以我需要以某種動態方式設置文件並將新日誌添加到文件中?
任何想法?
是否有一種簡單的方法可以實現我在主題中描述的內容?java Apache L4J - 僅在運行時期間記錄文件已知
我知道,通常,l4j.properties包含有關文件的信息,我們存儲信息的位置。問題在於運行時會有文件,所以我需要以某種動態方式設置文件並將新日誌添加到文件中?
任何想法?
你可以做這樣的事情:
String logFile = ...// log4j.xml absolute path
DOMConfigurator.configure(logFile);
Logger log = Logger.getRootLogger();
String fileAppenderName = ...
FileAppender fa = (FileAppender)log.getAppender(fileAppenderName);
fa.setFile(yourLogFile)
fileAppenderName呢? – krzakov 2014-09-23 12:32:40
我假設您仍然有一個* log4j.xml *或* log4j.properties *文件,您可以在其中配置所有的appender,並且您只想修改放置執行時間的日誌文件。所以,如果您使用的是* log4j.xml *文件,則appender名稱將會是您在appender配置中所放置的任何名稱。例如:
沒有得到你的問題 – 2014-09-23 12:10:11
我想使用Apache Log4J的記錄一些信息的文件。通常U只需在l4j.properties中設置文件,但在運行時之前我不會知道文件名。這就是爲什麼我不能設置它的屬性文件,我正在尋找解決方案。 – krzakov 2014-09-23 12:23:44