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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 宝塔面板安装nginx失败_卸载宝塔网站防火墙

    宝塔面板安装nginx失败_卸载宝塔网站防火墙解压并转到目录下tar-zxvfnginx-1.9.15.tar.gzcdnginx-1.9.15设置一下配置信息./configure–prefix=/usr/local/nginx,或者不执行此步,直接默认配置编译安装makemakeinstallmake的过程是把各种语言写的源码文件,变成可执行文件和各种库文件;makeinstall是把这些编译出来的可执行文件和库文…

    2022年9月3日
    3
  • NoSQL:一个帝国的崛起

    NoSQL:一个帝国的崛起01关系数据库帝国现在是公元2009年,关系帝国已经统治了我们30多年,实在是太久了。1970年,科德提出关系模型,1974年张伯伦和博伊斯制造出了SQL,帝国迅速建立起了统治。从北美到欧洲,

    2022年7月3日
    22
  • linux pstree 命令,Linux pstree命令

    linux pstree 命令,Linux pstree命令Linuxpstree命令Linuxpstree命令将所有行程以树状图显示,树状图将会以pid(如果有指定)或是以init这个基本行程为根(root),如果有指定使用者id,则树状图会只显示该使用者所拥有的行程。使用权限:所有使用者。语法pstree[-a][-c][-h|-Hpid][-l][-n][-p][-u][-G|-U][pid|user]或pstre…

    2025年5月23日
    0
  • 如何设计一个通用的权限管理系统

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:PioneerYi juejin.im/post/6850037267554287629 一个系统,如果没有安…

    2021年6月27日
    64
  • harmonyos系统与安卓区别(uAndroid)

    目录一、前言二、HarmonyOS与Android的对比2.1HarmonyOS并不是Android的替代品2.2系统定位2.3内核对比2.4运行速度三、方舟编译器一、前言这段时间我在寻思这学习一下鸿蒙,第一是因为在着手做一个自己的开源项目,技术选型的时候想到了鸿蒙;第二是我个人非常看好鸿蒙系统的未来,清除明白华为和一些民族企业担负的责任和国人的期待,虽然带着一些民族感情;鸿蒙刚发布的时候自己是非常激动的,但是后来项目太忙一直没有认真的去了解过,这次打算花一部

    2022年4月13日
    157
  • 新人如何入行3D游戏建模

    新人如何入行3D游戏建模所有行业都是一样的,没有什么容易的,只不过这一行是偏向于技术的,一个有好的建模师月薪10k+是很常见的,这个需要有自己刻苦学习的成果。游戏建模前景在游戏模型行业,你基本不用担心找不到工作,因为游戏模型师人才缺口非常大。举个例子:游戏制作公司的人员配比大多数是这样的:比如100人的三维制作组,可能有60人在做模型贴图,10个人在K动画。只要你保证技能在手,一定是抢手的人才。在几年前游戏建模这个行业不仅仅缺人才,甚至连新手都非常稀缺,那个时候公司愿意招聘实习生,培养他们然后给公司干活,但是工资一定不会给开的很

    2022年5月12日
    47

发表回复

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

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