日志文件的log4j路径

Woj*_*tek 2 java xml log4j path

我正在使用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" /> 
        (..........)
Run Code Online (Sandbox Code Playgroud)

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

Aar*_*lla 5

基本上有三种选择:

  1. 在构建期间,为log4j创建一个配置,其中包含file参数的绝对路径.最不灵活.

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

第二种选择有两种:

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

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

相关文章: