12
我有任何給定時間運行的線程類的多個實例。我有log4j設置用於記錄需求。如何設置log4j屬性,以便每個線程輸出到自己的日誌文件?
我需要一種方法來設置log4j,以便我的線程類的每個實例都將其日誌輸出到不同的日誌文件中。
這裏是我做了什麼(在僞代碼)
public class doSomething extends Thread {
private Logger d_logger;
public doSomething(int id){
d_logger = Logger.getLogger("doSomething"+id);
String logFileName = "doSomething"+id+".log";
Properties prop = new Properties;
prop.setProperty("doSomething"+id,"DEBUG, WORKLOG");
prop.setProperty("log4j.appender.WORKLOG","org.apache.log4j.FileAppender");
prop.setProperty("log4j.appender.WORKLOG.File", logFileName);
prop.setProperty("log4j.appender.WORKLOG.layout","org.apache.log4j.PatternLayout");
prop.setProperty("log4j.appender.WORKLOG.layout.ConversionPattern","%d %c{1} - %m%n");
prop.setProperty("log4j.appender.WORKLOG.Threshold","INFO");
PropertyConfigurator.configure(prop);
}
public void run(){
d_logger.info("Starting to doSomething number" + id);
}
}
雖然上面創建每個線程文件我實例,它不輸出任何對這些文件。任何幫助深表感謝。
的感謝!我只是有一段時間! :) – 2009-07-23 15:06:26