Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 日志文件的log4j路径_Java_Xml_Path_Log4j - Fatal编程技术网

Java 日志文件的log4j路径

Java 日志文件的log4j路径,java,xml,path,log4j,Java,Xml,Path,Log4j,我使用log4j作为日志。我的应用程序有一个简单的XML配置文件,我需要在配置文件中包含日志文件的路径。目前,它是log4j的另一个XML配置文件,包含以下内容: <log4j:configuration> <appender name="file" class="org.apache.log4j.FileAppender"> <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHan

我使用log4j作为日志。我的应用程序有一个简单的XML配置文件,我需要在配置文件中包含日志文件的路径。目前,它是log4j的另一个XML配置文件,包含以下内容:

<log4j:configuration>
    <appender name="file" class="org.apache.log4j.FileAppender">
    <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler" />
        <param name="file" value="log.out" /> 
        (..........)

(..........)

log.out
是项目目录中的默认日志。)如何将此配置移动到应用程序的配置文件中?

基本上有三个选项:

  • 在构建过程中,为log4j创建一个配置,其中包含文件参数的绝对路径。最不灵活

  • 使用系统属性。虽然这给了您一些灵活性,但当您在容器(J2EE服务器)中运行并且有几个应用程序都使用log4j时,这会导致问题

  • 第二种选择有两种风格:

  • 您可以在XML中使用
    ${logFile}
    指定日志文件的路径,并在命令行上使用
    -DlogFile=
    指定路径

  • 您可以将XML配置保存在不同的位置,并告诉log4j在它开始使用
    -Dlog4j.configuration=/absolute/path/to/log4j.XML

  • 相关文章:


    你的问题是什么?我怎么做?-->我需要在我的配置文件中包含日志文件的路径,因为现在它是这样的(另一个文件xml,conf for log4j):