tomcat日志详解[通俗易懂]

tomcat日志详解[通俗易懂]文章目录tomcat日志配置tomcat日志文件详解catalina.outcatalina.YYYY-MM-DD.loglocalhost.YYYY-MM-DD.loglocalhost_access_log.YYYY-MM-DD.txthost-manager.YYYY-MM-DD.logmanager.YYYY-MM-DD.log访问日志详细配置tomcat日志文件切割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里的标签下加上结点配置就可以了,如果不再记录访问日志,可以注释掉。配置如下:

<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

臭味相投的朋友们,我在这里:
猿in小站:http://www.yuanin.net
csdn博客:https://blog.csdn.net/jiabeis
简书:https://www.jianshu.com/u/4cb7d664ec4b
微信免费订阅号“猿in”
猿in

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151360.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win10php环境配置教程,win10php环境搭建详细教程

    win10php环境配置教程,win10php环境搭建详细教程大家在将系统更新为Win10系统后,对php环境搭建方法并不是很清楚。那么win10php环境搭建要怎么操作呢?其实win10php环境搭建的方法跟Win7/Win8.1系统的php环境搭建是相同道理的。如果还不懂win10php环境搭建的话,就看看小编带来的win10php环境搭建详细教程吧!首先,到微软官网下载符合系统位数的Apache和PHP一、安装并配置ApacheApache版本:Apa…

    2022年6月16日
    30
  • 混合线性模型介绍–Wiki

    混合线性模型介绍–Wiki模型介绍混合线性模型 是即包括固定因子 又包括随机因子的模型 混合线性模型被广泛应用于物理 生物和社会科学 尤其是一些重复测量的数据及面板数据 混合线性模型比较突出的特点是可以非常优秀的处理缺失值 相对于传统的方差分析 它有更广泛的使用范围 也更优秀 发展历程 RonaldFisher 最早提出随机因子模型来研究亲属间性状的相关性 1950 年 CharlesRoyHe

    2025年6月27日
    0
  • 一个暑假额。。有一点进步。。要学的还有很多

    一个暑假都在安卓上了,本来眼高手低的觉得能学个差不多,没想到只学了个皮毛而已。到现在基本上了解了安卓的工作原理和一些常用api的调用,不过遇到瓶颈了,终于知道很多人劝的那句话,java基础很重要。现在体会到了,刚开始还能根据c++的理解大体写出小程序的细节,但是到后来,随着程序的增加,却是意识到需要系统的学习一下java,所以,前几天开始看李刚老师的疯狂java讲义,刚才因为出现了问题,一打开

    2022年3月8日
    43
  • SSL协议分析「建议收藏」

    SSL协议分析「建议收藏」SecureSocketsLayerSSL协议概述SSL解决的问题(功能)协议的使用SSL在协议栈的位置SSL协议的分层模型SSL体系结构SSL的两个重要概念主要工作流程SSL握手协议的握手过程SSL记录层的功能SSL协议脆弱性分析SSL协议概述SecureSocketsLayer安全套接字协议SSL协议可用于保护正常运行于TCP之上的任何应用协议,如HTTP、FTP、SMTP或Telnet的通信,最常见的是用SSL来保护HTTP的通信。SSL协议的优点在于它是与应用层协议无关的。

    2022年6月2日
    65
  • 常用的算法和数据结构 面试_数据结构与算法面试题80道

    常用的算法和数据结构 面试_数据结构与算法面试题80道(1)红黑树的了解(平衡树,二叉搜索树),使用场景把数据结构上几种树集中的讨论一下:1.AVLtree定义:最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(logn)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。节点的平衡因子是它的左子树的高度减去它的右子树的高度(有时相反)。…

    2022年8月18日
    3
  • Activiti工作流的详细介绍[通俗易懂]

    Activiti工作流的详细介绍[通俗易懂]一、了解工作流1、工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。2、工作流管理系统(WorkflowManagementSystem,WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的

    2022年10月6日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号