log4j创建日志文件的相对路径

时间:2013-10-17 07:09:04

标签: logging log4j

这是我的log4j.properties文件

# Define the root logger with appender file
log = D:/workspaces/Abhishek/Automation/MOPS/logs
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${log}/log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{ABSOLUTE} %5p  - %m%n

这对我来说只有问题是我使用过的绝对路径。我现在想要使用相对路径。

以下是我的文件夹结构

--src
      --com
      --log4j.properties
--logs
     --log.out file

所以我的logs文件夹在log4j.properties所在的src文件夹之外?

在这种情况下如何定义相对路径。在jsp的情况下,我们像../webpages/page.jsp那样做。 怎么能在这里实现?

2 个答案:

答案 0 :(得分:2)

你可以像这样传递动态值

{logfileLoc}/logs/file.log.

在你的情况下你想要在项目文件夹本身,所以可以有-D(java参数或等效)参数,如-D logfileLoc = D:/ workspaces / Abhishek,你可以使用变量logfileLoc访问。并考虑为不同的环境更改此值。

答案 1 :(得分:1)

我遇到了同样的问题,我只是更改了以下行

log4j.appender.file.File=logs\\myLogFile.log

相对于当前工作目录,它运行良好