如何使用log4j.xml创建日志文件夹

3

我刚刚创建了一个类似于log4j.xml的文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration>
    <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
        <param name="Threshold" value="ALL" />
        <param name="MaxFileSize" value="512KB" />
        <param name="MaxBackupIndex" value="10" />
        <param name="File" value="F:/Core_logs/application_log.log" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{MMM-dd-yyyy HH:mm:ss:SSS} %-5p %m%n"/>
        </layout>
    </appender>

    <!--sets the priority log level for org.springframework -->
    <logger name="org.springframework">
        <level value="info" />
    </logger>
    <!--sets the default priority log level -->
    <root>
        <priority value="all"></priority>
        <appender-ref ref="fileAppender" />
    </root>
</log4j:configuration>

但我遇到了一个异常,具体如下:
java.io.FileNotFoundException: F:\Spring_Core_logs\pointel_Aop.log (The system cannot find the path specified)

如果我在特定位置手动创建了文件夹 Core_logs ,则可以正常工作并创建日志文件。
如何在特定位置创建文件夹,如果该文件夹不存在?

1
配置Java FileHandler Logging以在不存在时创建目录可能会有所帮助。您使用的是哪个版本的log4j?看起来1.2.15+应该已经支持了。 - andyb
@andyb 感谢您的支持。我使用了 1.2.9 版本。现在我已经升级版本了。 - Human Being
2个回答

5

编辑:

这里的内容可能对您有所帮助/看起来是最适合您的解决方案: 配置Java FileHandler Logging以创建不存在的目录

似乎log4j版本1.2.15可以实现。请查看下面Arun P Johny的回答,他发布了一段来自log4j源代码的代码。我之前忽略了它,因为它没有被接受为答案。


谢谢,你真的帮了我很大忙,而且还救了我。 - Human Being
1
将来请尽量不要从其他答案中复制。如果问题已经得到回答,请投票关闭它。如果您无法投票关闭问题,请添加评论指出可能是重复的问题。谢谢! - andyb

-2

在Eclipse中创建Log4j.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

<appender name="fileAppender" class="org.apache.log4j.FileAppender">

<param name="Threshold" value="INFO" />

<param name="Append" value="true" />

<param name="File" value="logfile.log"/>

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n" />

</layout>

</appender>

<root>

<level value="INFO"/>

<appender-ref ref="fileAppender"/>

</root>

</log4j:configuration>"UTF-8"?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接