java - 使用文件处理程序创建目录

标签 java ioexception java.util.logging filehandler

我使用java.util.logging创建了两个日志文件。 这是它的样子。

Handler fh = new FileHandler("%h/AntonGUI_Tester/Logfiles/"+logTime+".html");
fh.setFormatter(new HTMLTableFormatter());        
logger.addHandler(fh);
logger.setLevel(Level.START);    

Handler fh2 = new FileHandler("%h/AntonGUI_Tester/Logfiles/"+logDate+"/"+logTime+".log");
fh2.setFormatter(new TextFormatter());
logger2.addHandler(fh2);
logger2.setLevel(Level.ALL);

我想根据时间创建文件,并希望将其保存在根据日期的文件夹中。 第一个 FileHandler 可以工作,但第二个不能,因为由于某种原因它无法创建目录。

这是我的错误。

Exception in thread "main" java.io.IOException: Couldn't get lock for %h/AntonGUI_Tester/Logfiles/15-05-2013/13-19-25.log
    at java.util.logging.FileHandler.openFiles(FileHandler.java:372)
    at java.util.logging.FileHandler.<init>(FileHandler.java:237)
    at main.STSMain.main(STSMain.java:77)

是否有我必须更改的属性或者它与权限有关吗?

如果您需要更多代码或者我的问题不够清楚,请告诉我。

最佳答案

这是因为 FileHandler 类不会动态创建子目录,因此您必须在实例化 FileHandler 之前创建日期目录。

也许您忘记在第一个示例中使用“logDate”。

问候,

关于java - 使用文件处理程序创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16565442/

相关文章:

java - 如何获取参数请求以忽略用户输入文本的大小写

java - Elasticsearch "StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath."

android - 关于在 Android 媒体播放器应用程序中播放媒体文件

java - 为什么使用 JAX-RS 与 JAX-RS 时浏览器中的下载弹出窗口不显示标准servlet?

.NET 创建信号量失败并在 Win 2008 上出现 IoException

java - java中ObjectInputStream中的IOException

java - 如何在 3rd 方 jar 中禁用 JUL?

java - 如何使用 java util 日志框架以特定格式为每条记录创建日志文件

java - 使用 SLF4J 桥接 JUL 不起作用

java - Android 应用程序中无法包含 "javaee-api-7.0.jar"