这是我的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
所以我的日志文件夹在www.example.com所在的src文件夹之外log4j.properties?
在这种情况下,我如何定义相对路径?在jsp的情况下,我们像../webpages/page.jsp
一样定义相对路径。在这里如何实现?
3条答案
按热度按时间gudnpqoy1#
您可以像这样传递动态值
在您的情况下,您希望在项目文件夹本身中,因此可以使用-D(java参数或等效参数)参数,如-D logfileLoc =D:/workspaces/Abhishek,并且您可以使用变量
logfileLoc
访问。并考虑针对不同的环境更改此值。xuo3flqw2#
我遇到了同样的问题,我只是简单地更改了下面的行
相对于当前工作目录,它工作得很好
xggvc2p63#
在使用Tomcat和Web应用程序的Linux上,这是可行的:
单位为
/your/tomcat/webapps/your_app.war/WEB-INF/classes/log4j.properties
并将日志文件放在
/your/tomcat/logs/
文件夹中。P.S.正如我最近发现的,在这种情况下使用相对路径并不是一个好主意。因为您可以从不同的文件夹运行tomcat,而不仅仅是tomcat_home/bin/。所以,Piaget Hadzizi给出了最好的答案