我有以下课程来创建和管理Logger
。每当跨代码和程序执行时,都会使用对静态getLogger()
catch块的调用来记录。
public class Log {
private static final Logger logger = Logger.getLogger("MyLog");
public static void iniciarLog() throws IOException {
FileHandler fh;
try {
// fh = new FileHandler(System.getProperty("user.home")+System.getProperty("file.separator")+"TorrentDownloader.log");
fh = new FileHandler("%h/TorrentDownloader.log");
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logger.info("Se inició el log");
} catch (SecurityException | IOException e) {
logger.severe("Error al crear el log");
}
}
public static Logger getLogger() {
return logger;
}
}
但是,如何附加到此类日志文件?我所看到的所有示例都改变了很多我喜欢的实现,因为它清晰,简洁,简单。
答案 0 :(得分:7)
从FileHandler
constructor,您可以指定boolean
来指定附加模式。
执行以下操作:
fh = new FileHandler("%h/TorrentDownloader.log", true);
答案 1 :(得分:2)
使用其他构造函数
fh = new FileHandler("%h/TorrentDownloader.log", true);
答案 2 :(得分:1)
您可以使用此构造函数:
FileHandler handler = new FileHandler(String pattern, boolean append);
在你的情况下,它是:
fh = new FileHandler("%h/TorrentDownloader.log", true);
这个构造函数创建一个带文件名模式的FileHandler,以及一个告诉FileHandler是否应附加到任何现有文件的布尔值。
此article有完整的解释。