我正在尝试在log4j.properties
中配置我的Web应用程序(WAR)的日志记录:
log4j.rootCategory=WARN, RF
log4j.appender.RF=org.apache.log4j.RollingFileAppender
log4j.appender.RF.File=???/my-app.log
我应该为my-app.log
指定哪个文件路径?在哪里保存这个文件?目前我正在将我的应用程序部署到Tomcat6,但谁知道将来会发生什么。谁知道将来如何在另一台机器上配置/安装Tomcat。
答案 0 :(得分:2)
日志记录是部署配置描述符,因此您实际上无法进行概括。配置取决于主机和项目的其他非功能性要求。
通常在tomcat中我登录${catalina.home}/logs/myapp.log
但是你可以想象如果我在weblogic中部署没有任何catalina.home
,那么日志将转到c:\ logs \ myapp.log。 / p>
答案 1 :(得分:2)
我最终做的是:
settings.xml
中,我定义了一个属性log.dir
log4j.properties
我定义:log4j.appender.RF.File=${log.dir}/my-app.log
pom.xml
我指示Maven to filter .properties
个文件就是这样。现在,我可以在目标容器上控制日志文件的位置,而无需对源代码进行任何更改。
答案 2 :(得分:1)
我同意@cherouvim。通常,您应该将日志文件放在webapp之外,最好放在容器放入其日志文件的相同位置。
您不希望将它们放在webapp树中,因为如果重新部署了您的webapp,它们将会被破坏。
答案 3 :(得分:1)
我应该为my-app.log指定哪个文件路径?在哪里保存这个文件?
如果问题与您的个人计算机有关,那么这并不重要。把它们放在方便的地方(例如服务器日志旁边)。
如果问题是关于开发,IST,UAT等环境,通常应该将日志写入单独的/专用分区。但你应该向系统管理员提出这个问题,许多公司都有开发标准,标准化的布局。
目前我正在将我的应用程序部署到Tomcat6,但谁知道将来会发生什么。
这是一个黑暗中的镜头,但这是我过去使用的标准化路径:/var/log/tomcat/<PROJECTNAME>/myApp-<instance-#>.log
。
因为我在算命方面并不比你好,是的,谁知道未来会发生什么:)
谁知道将来如何在另一台机器上配置/安装Tomcat。
这是配置文件的美妙之处,您可以根据需要进行配置......甚至可以更改它:)