我希望我的 tomcat Web 应用程序在开发过程中使用一个日志配置文件,但在部署时使用不同的日志配置文件。
有什么办法可以做到这一点吗?如果我将logging.properties文件放在类加载器的根目录中进行部署,那么它似乎优先于其他所有内容,因此我看不到添加运行时jvm标志或类似内容来覆盖配置期间的方法发展。
您可以在 Tomcat 中使用
-D
命令行选项。创建两个属性文件用于开发和部署。
在开发中添加类似的内容,比如 log.properites
# Development logging configuration
logging.level.root=DEBUG
logging.level.org.apache.tomcat.util.log=DEBUG
logging.level.org.apache.tomcat.http.impl.connector.ClassLoader=DEBUG
logging.level.org.apache.tomcat.util.log=DEBUG
logging.level.org.apache.tomcat.util.log=DEBUG
logging.level.org.apache.catalina.connector.ClassLoader=DEBUG
logging.level.org.apache.catalina.connector.ClassLoader=DEBUG
logging.level.org.apache.catalina.core.Controller=DEBUG
logging.level.org.apache.catalina.core.Controller=DEBUG
logging.level.org.apache.catalina.connector=DEBUG
logging.level.org.apache.catalina.core.Controller=DEBUG
在部署log.properties中添加
properties # Deployment logging configuration
logging.level.root=ERROR
现在使用
-D
命令行选项
java -Dlogging.config=logging.properties -jar mywar.war
内部会发生的是
-Dlogging.config=log.properties
选项覆盖 log.properties
文件中的开发日志配置,应用程序将使用 log.properties
文件中的部署日志配置。
注意:我已经在我的系统中进行了测试。