2014-09-23 25 views
0

是否有一種簡單的方法可以實現我在主題中描述的內容?java Apache L4J - 僅在運行時期間記錄文件已知

我知道,通常,l4j.properties包含有關文件的信息,我們存儲信息的位置。問題在於運行時會有文件,所以我需要以某種動態方式設置文件並將新日誌添加到文件中?

任何想法?

+0

沒有得到你的問題 – 2014-09-23 12:10:11

+0

我想使用Apache Log4J的記錄一些信息的文件。通常U只需在l4j.properties中設置文件,但在運行時之前我不會知道文件名。這就是爲什麼我不能設置它的屬性文件,我正在尋找解決方案。 – krzakov 2014-09-23 12:23:44

回答

0

你可以做這樣的事情:

String logFile = ...// log4j.xml absolute path 
    DOMConfigurator.configure(logFile); 

    Logger log = Logger.getRootLogger(); 
    String fileAppenderName = ... 
    FileAppender fa = (FileAppender)log.getAppender(fileAppenderName); 
    fa.setFile(yourLogFile) 
+0

fileAppenderName呢? – krzakov 2014-09-23 12:32:40

+0

我假設您仍然有一個* log4j.xml *或* log4j.properties *文件,您可以在其中配置所有的appender,並且您只想修改放置執行時間的日誌文件。所以,如果您使用的是* log4j.xml *文件,則appender名稱將會是您在appender配置中所放置的任何名稱。例如: ... 2014-09-23 13:24:47

相關問題