当前位置: 首页 > 面试题库 >

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

呼延源
2023-03-14
问题内容

我正在尝试在每天创建目录的目录中创建日志,但是fileHandler没有创建目录,而是其抛出异常 无法获取C:\ dir_date \
Logging.txt的锁
(此处dir_date不存在,我正在尝试创建登录到该目录)。我可以通过“ fileHandler”创建目录吗?

FileHandler fileTxt;
fileTxt = new FileHandler("C:\\ff\\Logging.txt");

log4J甚至可以创建目录(如果不存在),这是否可以通过fileHandler进行?


问题答案:

julFileHandler无法创建目录。根据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
config选项或FileHandler的子类。

另请参见:JDK-6258319:FileHandler文件的异常没有%h,但是%h不存在



 类似资料:
  • 所有上传的数据必须包含名称列。 上传数据指将已整理好的表格,直接上传到地图者中。具体参考格式可以在“数据类型”下方,下载EXCEL样例文件。 注意:点线面的模版不完全相同,请选择好数据类型后再下载。 点数据分为两种情况 1.没有坐标,只有地址信息 可以通过系统进行自动定位获取坐标,此种格式要求表格必须包含“地址”列,具体参考“样例一”。系统会使用地址列进行定位。地址列越详细定位越准确。 注意:请在

  • 我想知道是否可以创建一个标准的文件对话框,通过python宏保存pdf。我试图根据这个过时的文档编写一些代码:wiki。openoffice。但LibreOffice在执行后崩溃: 最后我需要传递选定的路径来编写文档,但是返回:

  • 问题内容: 如果要在中创建文件,可以执行以下操作: 另外,我想用于创建文件。那我该怎么办呢?由于某种原因,该文件未在正确的目录中创建。 问题答案: 最好的方法是:

  • 旧问题已过时(通过build.gradle任务在项目目录中创建version.txt文件) 我当前的任务: 这是一个稍微重写的任务,以删除gradle 5.0的“不兼容”更改,但仍然显示警告: DefaultSourceDirectorySet构造函数已被弃用。这将在Gradle 5.0中删除。请改用ObjectFactory服务创建SourceDirectorySet的实例。 项目布局。dire

  • 我正在尝试将Heroku与Java结合使用,我有这个目录结构,我正在使用IntelliJ: 在程序文件中: 当我尝试heroku本地网站时,我得到“” 然而,它确实存在。我在用Windows。

  • 问题内容: 我想在没有X的情况下使用OpenGL渲染,而在Google上我找到了它:http : //dvdhrm.wordpress.com/2012/08/11/kmscon-linux-kmsdrm-based-virtual- console/ 那里说有可能。我应该使用DRM和EGL。EGL可以创建opengl上下文,但需要一个NativeWindow。DRM可能会为我提供NativeWi