我按照本指南將記錄儀信息輸出到格式化FileHandler的文件。格式化記錄器文件處理程序問題
public class TestLog {
public static Logger logger;
static {
try {
boolean append = true;
FileHandler fh = new FileHandler("TestLog.log", append);
fh.setFormatter(new Formatter() {
public String format(LogRecord rec) {
StringBuffer buf = new StringBuffer(1000);
buf.append(new java.util.Date());
buf.append(' ');
buf.append(rec.getLevel());
buf.append(' ');
buf.append(formatMessage(rec));
buf.append('\n');
return buf.toString();
}
});
logger = Logger.getLogger("TestLog");
logger.addHandler(fh);
}
catch (IOException e) {
e.printStackTrace();
}
}
引導顯示輸出將打印在新的一行的每個新記錄信息,
Mon Feb 28 21:30:54 EST 2005 SEVERE my severe message
Mon Feb 28 21:30:54 EST 2005 WARNING my warning message
Mon Feb 28 21:30:54 EST 2005 INFO my info message
然而,沒有新的線被所附文件中,或它們在StringBuffer的,然後一個新的創建,它以某種方式丟失。有人能解釋這個問題嗎?謝謝。
我的方法/記錄器不是靜態的,這是否會導致問題?
你試圖解決什麼問題?輸出你想要實現的內容,它的日誌框架的默認功能,你需要設置* pattern *的輸出。 –
新行不會被添加到文件中,所有內容都在一行中。這是可讀性的問題。 – PandaBearSoup
你正在編寫日誌框架! –