Tomcat日志

Tomcat日志

[root@dl-001 123.cn]# cd /usr/local/tomcat/logs/
[root@dl-001 logs]# ls
catalina.2018-01-09.log  host-manager.2018-01-09.log  localhost_access_log.2018-01-09.txt
catalina.out             localhost.2018-01-09.log     manager.2018-01-09.log

说明:

其中catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。

其中catalina.2017-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。

host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。

localhost和localhost_access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。

访问日志默认不会生成,需要在server.xml中进行配置。


配置访问日志

具体方法是在对应虚拟主机的里面加入下面的配置

     <Host name="www.zrlog.cn" appBase=""
          unpackWARs= "true" autoDeploy="true"
          xmlValidation="false" xmlNamespaceAware="false">
          <Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="www.zrlog.cn_access" suffix=".log"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    </Host>

核心参数: 说明:

prefix定义访问日志的前缀;

suffix定义日志的后缀;

pattern定义日志格式。

新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志,错误日志会统一记录到catalina.out中。关于Tomcat日志,你最需要关注catalina.out,当出现问题时,我们应该第一想到去查看它。

Tomcat服务器的日志信息对于分析和排查问题非常重要。日志文件通常位于`<Tomcat安装目录>/logs`目录下,包含多个关键日志文件,如`catalina.out`、`localhost.log`、`manager.log`等,分别记录了不同的运行时信息。 ### 日志文件类型及用途 - **`catalina.out`**:这是Tomcat的主日志文件,记录服务器启动、关闭以及运行过程中的所有标准输出和错误信息。它是调试Tomcat应用最常用的日志之一。 - **`localhost.log`**:记录与特定主机(通常是localhost)相关的请求处理信息,适用于调试Web应用程序的访问行为。 - **`manager.log`**:记录通过Manager应用部署或卸载应用的操作信息。 - **`host-manager.log`**:记录与虚拟主机管理相关的信息。 - **`catalina.<日期>.log`**:按天分割的日志文件,记录每天的运行信息,便于归档和分析。 - **`access_log.<日期>.txt`**:如果启用了访问日志功能,则该文件会记录每个HTTP请求的基本信息,如IP地址、请求时间、URL、响应状态码等。 ### Tomcat日志配置 默认情况下,Tomcat使用`logging.properties`文件来控制日志行为,该文件位于`<Tomcat安装目录>/conf/logging.properties`。可以通过修改此文件来调整日志级别、格式和输出路径。例如: ```properties # 设置全局日志级别为FINE(详细) .level=INFO # 配置catalina.out日志处理器 1catalina.org.apache.juli.FileHandler.level = FINE 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina. # 配置localhost日志处理器 2localhost.org.apache.juli.FileHandler.level = FINE 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 2localhost.org.apache.juli.FileHandler.prefix = localhost. ``` ### 日志分析常用命令 在Linux系统中,可以使用以下命令对Tomcat日志进行实时监控和分析: - 实时查看日志尾部内容: ```bash tail -f logs/catalina.out ``` - 查找特定关键字(如“ERROR”或“Exception”): ```bash grep "ERROR" logs/catalina.out ``` - 统计某段时间内出现的关键字数量: ```bash grep -c "OutOfMemoryError" logs/catalina.out ``` - 按时间范围筛选日志条目(假设日志格式包含时间戳): ```bash awk '/2023-10-01 10:00/,/2023-10-01 11:00/' logs/catalina.out ``` ### 常见问题排查 #### 启动失败 - 检查`catalina.out`是否有`java.lang.OutOfMemoryError`或其他JVM错误。 - 确认端口是否被占用(如8080、8005),可通过`netstat -tuln | grep 8080`检查[^2]。 #### 应用崩溃或响应缓慢 - 搜索异常堆栈信息,如`NullPointerException`或`SQLException`。 - 使用`jstack`工具生成线程快照,分析是否存在死锁或线程阻塞情况。 #### 访问受限 - 检查`manager.log`确认是否有权限不足导致的部署失败。 - 如果启用了访问日志,检查`access_log.<日期>.txt`以确认客户端请求是否到达服务器。 ### 日志归档与轮转 为了防止日志文件过大,建议启用日志轮转机制。可以使用`logrotate`工具自动管理日志文件的大小和保留周期。创建一个配置文件(如`/etc/logrotate.d/tomcat`),示例内容如下: ```bash /logs/catalina.out { copytruncate daily rotate 7 compress missingok size +4096k } ``` 上述配置表示每天轮换一次日志文件,最多保留7个旧版本,并且当文件大小超过4MB时触发轮换。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值