在我的應用程序中,我讀入一個輸入文件(例如myFile1.txt)並創建一個具有相同名稱的輸出文件(例如myFile2log)。要點是輸入文件將在Java應用程序中讀取,而不是作爲命令行參數給出。因此,需要在應用程序中設置appender,例如如何爲所有類配置log4j fileappender?
public class Example {
private static final Logger LOG = Logger.getLogger(Example.class);
public Example() throws IOException {
FileAppender appender = new DailyRollingFileAppender(new PatternLayout(
PatternLayout.DEFAULT_CONVERSION_PATTERN), "yourfilename.log",
"'.'yyyy-MM-dd");
LOG.addAppender(appender);
LOG.setLevel((Level) Level.DEBUG);
LOG.debug("blabla");
new RandomClass();
}
public static void main(String[] args) throws IOException {
new Example();
}
}
public class RandomClass {
private static final Logger LOG = Logger.getLogger(RandomClass.class);
public RandomClass() {
LOG.debug("hello Randomclass");
}
}
這裏的問題是:如果我做了自定義文件附加器上面只對其中定義了fileappender具體的類,但不能在任何其他類。因此,「RandomClass」的輸出將不會寫入此日誌文件,但是這是必需的。我怎樣才能做到這一點?
你能不能用一個log4j.properties文件的旁邊應用程序指定appender? – Quetzalcoatl
是的,我在我的應用程序旁邊使用log4j.properties文件來設置其他設置。但我不知道如何動態調整「全局」文件擴展名日誌文件。 – Malvin