![](/img/trans.png)
[英]How do you store logs in a single log file using java.util.logging.FileHandler?
[英]how to append log in java using FileHandler
我正在嘗試使用log4j將日志存儲到文件中
我試圖創建一個單獨的類
public class MyLogger {
FileHandler fh;
Logger log;
public MyLogger(String className) {
log = Logger.getLogger(className);
try {
String location = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath().replace("%20", " ").replaceFirst("/", "") + "logs.log";
fh = new FileHandler(location);
log.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
} catch (Exception e) {
System.out.println("error in MyLogger class, method getLogger \n stack trace below \n");
e.printStackTrace();
}
}
public void log(Level l, String Message, Object o) {
log.log(l, Message, o);
flushStream();
}
public void log(Level l, String Message) {
log.log(l, Message);
flushStream();
}
private void flushStream() {
fh.flush();
fh.close();
}
}
當我需要將一些消息記錄到文件中時,我每次都調用該類。 它運行正常,但是每次調用它都會覆蓋舊的日志數據。 如何使用此代碼附加新日志? 還是還有其他記錄方式?
FileHandler還有另一個構造函數,可用於顯式告知FileHandler您要追加日志。 代碼是這樣的:
fh = new FileHandler(location, true);
將此構造函數的第二個參數設置為true以追加日志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.