如何在这个简单的Java Logging实现中附加日志文件?

时间:2014-05-16 14:42:53

标签: java logging java.util.logging

我有以下课程来创建和管理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;
    }
}

但是,如何附加到此类日志文件?我所看到的所有示例都改变了很多我喜欢的实现,因为它清晰,简洁,简单。

3 个答案:

答案 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有完整的解释。