0x1 问题
经常换包或者升级一些功能之后重启tomcat报错,但是只是最后日志提示监听启动失败,具体的错误却没有显示:
Context [] startup failed due to previous errors
这种情况怎么办呢? 我们可以修改 tomcat 的日志打印配置,来记录更详细的日志
0x2 日志级别
修改 tomcat/conf/logging.properties
或者在 WEB-INF/classes目录下新建一个文件叫logging.properties,增加或者修改下面的内容
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
0x3 其他
在 tomcat/conf/logging.properties 中追加上面的内容并不能解决所有的情况,有一次遇到错误:
一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
没有更多的内容了,在经过检索后需要使用下面的办法解决
-
把项目war包解压出来,添加文件
WEB-INF/classes/logging.properties
-
文件增加内容如下:
org.apache.catalina.core.ContainerBase.[Catalina].level=INFO org.apache.catalina.core.ContainerBase.[Catalina].handlers=java.util.logging.ConsoleHandler
这样的话,就可以看到启动是哪里导致的错误
评论