webapp在开发/测试/生产阶段的不同日志级别

时间:2011-06-10 13:18:49

标签: java web-applications logging tomcat

我们的webapp有很多DEBUG和INFO日志声明,显然非常适合开发。一旦我们将.war文件部署到测试/生产服务器,log4j.properties也会被部署,这会在日志文件中产生大量的DEBUG和INFO语句。

如果我们只想在开发机器上看到DEBUG日志级别,在测试服务器上看到INFO并在生产服务器上看到WARN,那么最佳做法是什么?是否有全局tomcat配置,我可以设置一个日志级别来覆盖每个webapp的各个日志记录设置?或者是maven并在构建时替换log4j.properites文件的方式去吗?

1 个答案:

答案 0 :(得分:2)

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