大家好,又见面了,我是你们的朋友全栈君。
文章目录
- tomcat日志配置
- tomcat 日志文件详解
- catalina.out
- catalina.YYYY-MM-DD.log
- localhost.YYYY-MM-DD.log
- localhost_access_log.YYYY-MM-DD.txt
- host-manager.YYYY-MM-DD.log
- manager.YYYY-MM-DD.log
- 访问日志详细配置
- tomcat日志文件切割
tomcat日志配置
- tomcat 对应日志的配置文件:tomcat目录下的/conf/logging.properties。
#可配置项(5类日志):catalina、localhost、manager、admin、host-manager
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler,
3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
#日志输出为输出到文件和输出到控制台
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
#日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)
#配置文件使catalina日志输出级别为FINE
1catalina.org.apache.juli.FileHandler.level = FINE
#catalina文件输出位置
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#catalina日志前缀为catalina
1catalina.org.apache.juli.FileHandler.prefix = catalina.
#配置文件使localhost日志输出级别为FINE
2localhost.org.apache.juli.FileHandler.level = FINE
#localhost文件输出位置
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#localhost日志前缀为localhost
2localhost.org.apache.juli.FileHandler.prefix = localhost.
#配置文件使manager日志输出级别为FINE
3manager.org.apache.juli.FileHandler.level = FINE
#manager文件输出位置
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#manager日志前缀为manager
3manager.org.apache.juli.FileHandler.prefix = manager.
#配置文件使host-manager日志输出级别为FINE
4host-manager.org.apache.juli.FileHandler.level = FINE
#host-manager文件输出位置
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#host-manager日志前缀为host-manager
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
#配置文件使控制台日志输出级别为FINE
java.util.logging.ConsoleHandler.level = FINE
#控制台日志输出格式
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
#localhost日志文件输出级别为INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
#localhost日志文件输出处理类2localhost.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
#manager日志文件输出级别为INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
#manager日志文件输出处理类3manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
#host-manager日志文件输出级别为INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
#host-manager日志文件输出处理类4host-manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler
- tomcat 的日志等级有:日志输出级别:SEVERE (最高级别) > WARNING > INFO > – CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)
- tomcat 有五类日志 :catalina、localhost、manager、admin、host-manager
tomcat 日志文件详解
tomcat有五类日志:catalina、localhost、manager、admin、host-manager
catalina.out
catalina.out即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。默认这个日志文件是不会进行自动切割的,我们需要借助其他工具进行切割(注意:catalina.out文件如果过大会影响)
catalina.YYYY-MM-DD.log
catalina.{yyyy-MM-dd}.log是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log,它是tomcat的启动和暂停时的运行日志,注意,它和catalina.out是里面的内容是不一样的。
localhost.YYYY-MM-DD.log
localhost.{yyyy-MM-dd}.log主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.2018-09-19.log日志全。它只是记录了部分日志。
localhost_access_log.YYYY-MM-DD.txt
localhost_access_log.2018-09-19.txt:这个是访问tomcat的日志,请求时间和资源,状态码都有记录。
host-manager.YYYY-MM-DD.log
host-manager.2018-09-19.log:这个估计是放tomcat的自带的manager项目的日志信息的,未看到有什么重要的日志信息。
manager.YYYY-MM-DD.log
manager.2018-09-19.log : 这个是tomcat manager项目专有的日志文件.
访问日志详细配置
在server.xml里的标签下加上结点配置就可以了,如果不再记录访问日志,可以注释掉。配置如下:
代码语言:javascript复制<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
下面咱们逐一分析各个参数。
其中 directory是产生的目录,tomcat安装${catalina}作为当前目录
pattern表示日志生产的格式,common是tomcat提供的一个标准设置格式。其具体的表达式为
%h %l %u %t “%r” %s %b
但本人建议采用以下具体的配置,因为标准配置有一些重要的日志数据无法生。
%h %l %u %t “%r” %s %b %T
先看一下,我们能得到的数据有:
- %h 访问的用户IP地址
- %l 访问逻辑用户名,通常返回’-’
- %u 访问验证用户名,通常返回’-’
- %t 访问日时
- %r 访问的方式(post或者是get),访问的资源和使用的http协议版本
- %s 访问返回的http状态
- %b 访问资源返回的流量
- %T 访问所使用的时间
有了这些数据,我们可以根据时间段做以下的分析处理(图片使用jfreechart工具动态生成):
- 独立IP数统计
- 访问请求数统计
- 访问资料文件数统计
- 访问流量统计
- 访问处理响应时间统计
- 统计所有404错误页面
- 统计所有500错误的页面
- 统计访问最频繁页面
- 统计访问处理时间最久页面
- 统计并发访问频率最高的页面
tomcat日志文件切割
tomcat 的 catalina.out 文件tomcat 是不会进行日志切割的,当这个文件大于2G 时,会影响tomcat的运行。那么我们需要对这个文件进行日志切割,切割的方法有很多种:
第一种:
通过系统自带的切割工具:logrotate来进行切割。
第二种:
使用logj4进行切割日志。
第三种:
使用用cronolog分割tomcat的catalina.out文件
以上三种方法见:
https://www.cnblogs.com/happy-king/p/9193401.html
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151360.html原文链接:https://javaforall.cn