为什么我的日志没有写入文件?

时间:2015-09-28 14:02:30

标签: java logging

我正在尝试将我的日志写入文件,但文件为空并且日志在控制台中打印。文件放在resource文件夹项目中。为什么会有问题?

import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;

private Logger logger = Logger.getLogger(MyClass.class.getName());
private FileHandler fileHandler;

public String book(){
        try {
            fileHandler = new FileHandler("super.txt", 100000, 1, true);
            SimpleFormatter formatter = new SimpleFormatter();
            fileHandler.setFormatter(formatter);
            logger.addHandler(fileHandler);
            logger.setLevel(Level.INFO);
            logger.log(Level.INFO, "INFO");
        } catch (IOException e) {
            e.printStackTrace();
        }
        logger.log(Level.WARNING, "WARN");
        return "log is save or not )";
    }

2 个答案:

答案 0 :(得分:0)

您是否尝试过" resource / super.txt"而不是" super.txt" ? 另外,完成后不要忘记关闭fileHandler。

答案 1 :(得分:0)

我尝试了你的代码并且它有效。它在“当前目录”中创建一个日志文件,该目录是项目根目录。您可以将计算的绝对路径作为文件名传递,以使其记录在您想要的位置。

可以通过添加以下内容来禁用记录到控制台:

logger.setUseParentHandlers(false);