2011-06-10 27 views
0

我们的Web应用程序有很多DEBUG和INFO日志说明,这对于开发很明显。一旦我们将.war文件部署到测试/生产服务器,log4j.properties也会被部署,这会在日志文件中产生大量的DEBUG和INFO语句。开发/测试/生产阶段的webapp的不同日志级别

如果我们希望仅在开发计算机上看到DEBUG日志级别,测试服务器上的INFO和生产服务器上的WARN,那么最佳做法是什么?是否有全局的tomcat配置,我可以设置一个日志级别,覆盖每个webapp的个人日志设置?或者是maven,并在构建时取代log4j.properites文件的路要走?

+0

如果使用maven方式,我发现了以下内容:http://sujitpal.blogspot.com/2006/10/maven2-multi-environment-filter-setup.html – black666 2011-06-10 13:33:35

回答

1

我更喜欢让应用程序“知道”它在哪个环境中。这可能是您使用的框架的功能,您的应用程序的构建,或者可以通过将环境变量作为JVM arg,然后当你初始化你的记录器时,你可以让它检查这个参数。具体的实现细节取决于你的web应用使用什么框架(如果有的话),使用什么类型的记录器等等。使用诸如将参数传递给JVM之类的好处是,你可以拥有的不仅仅是你的记录器密钥关闭应用程序的环境,而且您不必担心为每个环境构建(并测试)不同的软件包。

相关问题