我正在尝试将我的日志写入文件,但文件为空并且日志在控制台中打印。文件放在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 )";
}
答案 0 :(得分:0)
您是否尝试过" resource / super.txt"而不是" super.txt" ? 另外,完成后不要忘记关闭fileHandler。
答案 1 :(得分:0)
我尝试了你的代码并且它有效。它在“当前目录”中创建一个日志文件,该目录是项目根目录。您可以将计算的绝对路径作为文件名传递,以使其记录在您想要的位置。
可以通过添加以下内容来禁用记录到控制台:
logger.setUseParentHandlers(false);