我正在使用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
是项目目录中的默认日志。)如何将此配置移动到我的应用程序的配置文件中?
答案 0 :(得分:5)
基本上有三种选择:
在构建期间,为log4j创建一个配置,其中包含file参数的绝对路径。最不灵活。
使用系统属性。虽然这为您提供了一些灵活性,但是当您在容器(J2EE服务器)中运行并且您有多个应用程序都使用log4j时,这会导致问题。
第二种选择有两种:
您可以使用XML中的${logFile}
指定日志文件的路径,并使用命令行上的-DlogFile=
指定路径。
您可以将XML配置保存在其他位置,并告诉log4j在开始使用-Dlog4j.configuration=/absolute/path/to/log4j.xml
相关文章: