我问一个问题,出于好奇,可能这似乎也是一个愚蠢的问题。
这是我的应用程序的log4j.properties文件,该文件很快就会投入使用。
log4j.rootCategory = Info,A1
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.file=D:/MyWEBLogs/MyWEB.log
log4j.appender.A1.datePattern='.'yyyy-MM-dd
log4j.appender.A1.append=true
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} - %m%n
正如您所看到的,我在这里提到的文件路径是D:/MyWEBLogs/MyWEB.log。 (这在Windows环境下工作正常)
但我们的应用程序将被视为war文件,并在Linux环境中的Tomcat内部署。
在Linux Environemnt中,我们不确定路径(这就是这个tomcat驻留在那里......)而且作为用户我们拥有有限的权限,比如创建文件---等等
所以现在我的问题是,什么应该是最好的默认路径放在下面的行,所以它可以在linux Environemnt的任何地方运行,无论它放在哪里
log4j.appender.A1.file=D:/MyWEBLogs/MyWEB.log
答案 0 :(得分:3)
应为${user.home}/appName/MyWEB.log
,用户通常有权在家庭目录中写作