【发布时间】:2019-05-30 10:15:39
【问题描述】:
我为我的应用程序编写了一个愚蠢的 Logger。它将信息、警告和严重消息写入日志文件。前段时间它工作得很好,但突然间,它无缘无故地停止工作。 如果它不存在,它会继续创建日志文件,但没有写入任何内容。 我找不到为什么它现在不起作用。我会感谢一些帮助。
使用我的 IDE 进行调试,我意识到消息已正确传递给记录器,并且正在执行 logger.info()。
public class FsLogger {
private static FsLogger instance;
private final String filename = "Logs/LogFsForensics.log";
private final String loggerName = "FsLogger";
private static Logger logger;
private FileHandler fh;
private final int limit = 1024*10000; //10 MB
private SimpleFormatter sf;
private FsLogger() {
logger = Logger.getLogger(loggerName);
sf = new SimpleFormatter();
try {
fh = new FileHandler(filename, limit, 1, true);
sf = new SimpleFormatter();
fh.setFormatter(sf);
logger.addHandler(fh);
} catch (SecurityException | IOException e) {
e.printStackTrace();
}
}
public static FsLogger getInstance() {
if(instance == null) {
instance = new FsLogger();
}
return instance;
}
public void info(String message) {
logger.info(message);
}
public void warning(String message) {
logger.warning(message);
}
public void severe(String message) {
logger.severe(message);
}
记录器调用示例:
private FsLogger logger = FsLogger.getInstance();
logger.severe(e1.getMessage());
【问题讨论】:
-
请检查是否是文件创建权限问题。