【发布时间】:2011-08-26 12:02:31
【问题描述】:
我已经使用tomcat 5.5.33附带的procrun版本安装了一个java批处理:
Commons Daemon Service Runner version 1.0.5.0/Win32 (Jan 5 2011)
Copyright (c) 2000-2011 The Apache Software Foundation.
在安装中,我指定(在其他 JVM 选项中):
--JvmOptions="-Duser.dir=C:\LOCAL\serverapps"
我的 log4j.properties 配置包括:
log4j.appender.InfoLogFile.File=../logs/info.log
但是,info.log 文件正在被写入:
C:\WINDOWS\logs
我在很多不同的地方检查了user.dir 的值,它始终是C:\LOCAL\serverapps。
但是,log4j 的行为就像user.dir=C:\Windows\System32(或C:\Windows 的其他子目录)。
据我从 log4j 源 (1.2.16) 得知,FileAppender 仅处理 java.io.FileOutputStream 和 File 类,它们声称使路径相对于 user.dir 位置。
我已经解决了这个问题,但我很好奇:还有其他人遇到过这种行为吗?如果是这样,到底发生了什么?
【问题讨论】:
标签: java log4j daemon apache-commons procrun