Tomcat 输出debug日志

本文提供了解决Tomcat无法启动的问题,并通过在WEB-INF/classes目录下新建logging.properties文件来获取更详细的启动日志的方法。通过设置特定的日志级别和输出路径,用户可以更好地定位和解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天启动Tomcat启动不了,报以下错: 

org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 
org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/******] startup failed due to previous errors 

网上找了N多文章,都没有切中要害。 
后来在国外网站上搜到一个方法 
http://grails.1312388.n4.nabble.com/Deployment-problems-td4628710.html。 
我试了一下,是可以的。方案如下。 

Tomcat报的错太含糊了,什么错都没报出来,只提示了Error listenerStart。为了调试,我们要获得更详细的日志。可以在WEB-INF/classes目录下新建一个文件叫logging.properties,内容如下 

Java代码   收藏代码
  1. handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler  
  2.   
  3. ############################################################  
  4. # Handler specific properties.  
  5. # Describes specific configuration info for Handlers.  
  6. ############################################################  
  7.   
  8. org.apache.juli.FileHandler.level = FINE  
  9. org.apache.juli.FileHandler.directory = ${catalina.base}/logs  
  10. org.apache.juli.FileHandler.prefix = error-debug.  
  11.   
  12. java.util.logging.ConsoleHandler.level = FINE  
  13. java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter  


这样,我们再启动tomcat时,就会在logs目录下生成一个更详细的日志error-debug.2012-05-31.log。 

我们进去看看什么错吧。 
我碰到的错误是FileNotFoundException.大家碰到的错应该各式各样都有,所以就要具体问题具体分析了。 

tomcat的logging文档具体可参考http://tomcat.apache.org/tomcat-7.0-doc/logging.html 


本文装载自:http://xpenxpen.iteye.com/blog/1545648

### 解决 IntelliJ IDEA 中 Tomcat 日志输出中文乱码问题的详细方案 在开发环境中,Tomcat 作为常用的服务器被集成到 IntelliJ IDEA 中。然而,许多开发者可能会遇到一个问题:启动 Tomcat 时,控制台的日志输出出现乱码,尤其是在日志包含中文字符的情况下[^1]。以下是解决此问题的完整方法。 #### 配置文件编码设置 确保项目的编码格式统一为 UTF-8。在 IntelliJ IDEA 中,可以通过以下方式设置全局和项目的编码: 1. 打开 **File → Settings → Editor → File Encodings**。 2. 将 **Global Encoding** 和 **Project Encoding** 设置为 `UTF-8`。 3. 确保 **Default encoding for properties files** 也被设置为 `UTF-8`。 #### 修改 Tomcat 启动配置 在 IntelliJ IDEA 中,Tomcat 的启动参数需要正确配置以支持 UTF-8 编码。具体步骤如下: 1. 在 IntelliJ IDEA 中,进入 **Run/Debug Configurations**。 2. 选择对应的 Tomcat Server 配置。 3. 在 **VM options** 中添加以下内容: ```bash -Dfile.encoding=UTF-8 ``` 这一设置确保 JVM 使用 UTF-8 作为默认编码[^1]。 #### 修改 Tomcat 的 server.xml 文件 如果日志中仍然存在乱码,可以检查 Tomcat 的 `server.xml` 文件,确保连接器(Connector)的编码设置正确。例如,在 `<Connector>` 标签中添加或修改以下属性: ```xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> ``` 这里的 `URIEncoding="UTF-8"` 确保 URL 参数能够正确解析为 UTF-8 编码。 #### 检查日志文件编码 如果日志输出到文件而不是控制台,还需要确保日志文件的编码为 UTF-8。可以在 `logging.properties` 或其他日志配置文件中明确指定编码。例如,使用 Log4j 时,可以在配置文件中添加以下内容: ```properties log4j.appender.file.Encoding=UTF-8 ``` #### 测试与验证 完成上述配置后,重启 Tomcat 服务器并重新生成日志,检查是否仍然存在乱码问题。如果问题解决,则说明配置成功。 ### 注意事项 - 确保所有涉及编码的地方都设置为 UTF-8,包括项目编码、JVM 参数、Tomcat 配置以及日志文件编码。 - 如果仍然存在问题,可以尝试清理缓存并重启 IntelliJ IDEA:**File → Invalidate Caches / Restart**。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值