我试图在目录中创建日志,每个目录都是按日创建的,但是fileHandler不是在创建目录,而是它抛出的异常无法为C:\dir_date\Logging.txt获得锁(在这里,dir_date不存在,我试图创建到这个目录中的日志)。我可以通过"fileHandler“创建目录吗?
FileHandler fileTxt;
fileTxt = new FileHandler("C:\\ff\\Logging.txt");如果不存在,log4J甚至可以创建目录,这难道不是通过fileHandler实现的吗?
发布于 2014-04-01 20:52:13
j.u.l.FileHandler无法创建目录。根据API规范,不存在的目录是和应该被视为无效的。这意味着您的日志应该出现在用户主目录中。这在JDK-6244047:不可能指定目录来记录FileHandler,除非它们存在中描述过
配置:默认情况下,每个FileHandler都使用以下LogManager配置属性进行初始化。如果未定义属性(或具有无效值),则使用指定的默认值。
<snip>
根据上面的规范措辞,如果"FileHandler.pattern“属性指定了不可用的值,那么它是无效的。如果指定了无效值,则API应该使用默认值。在这种情况下,应该使用"%h/java%u.log“。
如果需要创建目录,则可以使用LogManager 配置选项或子类FileHandler。
https://stackoverflow.com/questions/22732247
复制相似问题