tomcat 日志详解

1.tomcat的日志配置

**tomcat 对应日志的配置文件:**tomcat目录下的 /conf/logging.properties ,

tomcat 的日志等级有:
日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)

tomcat 有五类日志 :catalina、localhost、manager、admin、host-manager

2.catalina.out

catalina.out即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。默认这个日志文件是不会进行自动切割的,我们需要借助其他工具进行切割(注意:catalina.out文件如果过大会影响)

3. catalina.YYYY-MM-DD.log

catalina.{yyyy-MM-dd}.log是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log,它是tomcat的启动和暂停时的运行日志,注意,它和catalina.out是里面的内容是不一样的。

4.localhost.YYYY-MM-DD.log

localhost.{yyyy-MM-dd}.log主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.2018-09-19.log 日志全。它只是记录了部分日志。

5.localhost_access_log.YYYY-MM-DD.txt

localhost_access_log.2018-09-19.txt:这个是访问tomcat的日志,请求时间和资源,状态码都有记录。
在这里插入图片描述

tomcat 日志详解_第1张图片

Nginx+Tomcat的配置环境中,如何让Tomcat记录访客真实的IP地

一、配置Nginx转发IP头:
在Nginx的server主机配置段中添加:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
说明:上面两行用于向tomcat发送真实的远端主机名和IP地址。其中的Host代表主机名, X-Real-IP代表主机IP,对于HTTP头部内容,这些变量是不区分大小写的。

二、配置Tomcat日志记录客户真实IP:
在Tomcat中要记录来访者真实IP,大家参考上面所述的tomcat日志配置语法,只需在日志模式中添加如下模式就行了:%{X-Real-IP}i
如下面完整的Tomcat日志配置段:

注意:上两两处修改后,您应该重新启动Nginx和Tomcat服务,以使您的修改生效。这样,当有新的请求过来时,便可以在Tomcat日志文件中记录访客的真实IP地址了。

6 manager.YYYY-MM-DD.log

manager.2018-09-19.log : 这个是tomcat manager项目专有的日志文件.

其中 ${catalina.base} 的说明如下:

catalina.home和 catalina.base这两个属性仅在你需要安装多个 Tomcat实例而不想安装多个软件备份的时候使用,这样能节省磁盘空间。
以 Tomcat6.0为例,其 Tomcat目录结构如下:

bin (运行脚本)
conf (配置文件)
lib (核心库文件)
logs (日志目录)
temp (临时目录)
webapps (自动装载的应用程序的目录)
work (JVM临时文件目录[java.io.tmpdir])

让我们看看这些目录那些可以被多个 Tomcat实例公用,其实只有bin 和 lib 目录,其它目录conf、logs、temp、webapps和work每个 Tomcat实例必须拥有其自己独立的备份。
明白了上述关系就容易理解catalina.home和catalina. base的用途了。
catalina.home指向公用信息的位置,就是bin和lib的父目录。
catalina. base指向每个 Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。
仅运行一个 Tomcat实例时,这两个属性指向的位置是相同的。

你可能感兴趣的:(Java,java)