首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过FileHandler为Logger文件创建目录

如何通过FileHandler为Logger文件创建目录
EN

Stack Overflow用户
提问于 2014-03-29 14:19:04
回答 1查看 3.5K关注 0票数 3

我试图在目录中创建日志,每个目录都是按日创建的,但是fileHandler不是在创建目录,而是它抛出的异常无法为C:\dir_date\Logging.txt获得锁(在这里,dir_date不存在,我试图创建到这个目录中的日志)。我可以通过"fileHandler“创建目录吗?

代码语言:javascript
复制
FileHandler fileTxt;
fileTxt = new FileHandler("C:\\ff\\Logging.txt");

如果不存在,log4J甚至可以创建目录,这难道不是通过fileHandler实现的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-01 20:52:13

j.u.l.FileHandler无法创建目录。根据API规范,不存在的目录是和应该被视为无效的。这意味着您的日志应该出现在用户主目录中。这在JDK-6244047:不可能指定目录来记录FileHandler,除非它们存在中描述过

配置:默认情况下,每个FileHandler都使用以下LogManager配置属性进行初始化。如果未定义属性(或具有无效值),则使用指定的默认值。

  • java.util.logging.FileHandler.level指定处理程序的默认级别(默认为Level.ALL)。

<snip>

  • java.util.logging.FileHandler.pattern指定了生成输出文件名的模式。有关详细信息,请参见下文。(默认为"%h/java%u.log")。

根据上面的规范措辞,如果"FileHandler.pattern“属性指定了不可用的值,那么它是无效的。如果指定了无效值,则API应该使用默认值。在这种情况下,应该使用"%h/java%u.log“。

如果需要创建目录,则可以使用LogManager 配置选项或子类FileHandler。

另见:JDK-6258319:没有例外的FileHandler文件有%h,但%h不存在

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22732247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档