【系统环境:CentOS-6.6-x86_64】 
【Tomcat版本:7.0.62】

Tomcat日志概述

Tomcat 日志信息分为两类:

  • 访问日志信息,记录访问的时间,IP,访问的资料等相关信息。
  • 运行中的日志,主要记录运行的一些信息,尤其是一些异常错误日志信息。

访问日志

Tomcat访问日志的配置在TOMCAT_HOME/conf/server.xml中(注:注释以下内容即可关闭访问日志)

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log." suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" />

参数详解:

className:官方说明必须按照默认配置不可更改。 
directory:日志文件位置。 
prefix:日志文件前缀。 
suffix:日志文件后缀。 
pattern:日志模式参数,设置参数很丰富,参数说明见下表。 
resolveHosts:如果这个值是true的话,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址。

pattern 参数: 
%a - 远端IP地址 
%A - 本地IP地址 
%b - 发送的字节数,不包括HTTP头,如果为0,使用”-” 
%B - 发送的字节数,不包括HTTP头 
%h - 远端主机名(如果resolveHost=false,远端的IP地址) 
%H - 请求协议 
%l - 从identd返回的远端逻辑用户名(总是返回 ‘-‘) 
%m - 请求的方法(GET,POST,等) 
%p - 收到请求的本地端口号 
%q - 查询字符串(如果存在,以 ‘?’开始) 
%r - 请求的第一行,包含了请求的方法和URI 
%s - 响应的状态码 
%S - 用户的session ID 
%t - 日志和时间,使用通常的Log格式 
%u - 认证以后的远端用户(如果存在的话,否则为’-‘) 
%U - 请求的URI路径 
%v - 本地服务器的名称 
%D - 处理请求的时间,以毫秒为单位 
%T - 处理请求的时间,以秒为单位

运行日志

  • 运行日志分为5类:catalina 、localhost 、manager 、admin 、host-manager
  • 日志的级别分为7种:SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value) 
    除此之外,还可以使用OFF关闭相关日志,使用ALL输出所有级别的日志
  • 修改 TOMCAT_HOME/conf/logging.properties 中的内容,设定某类日志的级别

设置 catalina 日志的级别为: FINE

1catalina.org.apache.juli.FileHandler.level = FINE

禁用 catalina 日志的输出:

1catalina.org.apache.juli.FileHandler.level = OFF

输出 catalina 所有的日志消息:

1catalina.org.apache.juli.FileHandler.level = ALL

分割catalina.out日志文件

tomcat日志文件logs/catalina.out默认不会自动rotate,该文件会越来越大,以致打开速度很慢甚至无法打开,因而需要自动分割catalina.out,每天生成一个新的catalina-yyyy-mm-dd.out格式的文件。

解决方法: 
cronolog可以协助Web Server之类的做 log档的 rotate,详细的运作原理大致如下: 
Tomcat先把输出写到 console(标准输出) 然后透过 pipe (|) 转为 cronolog 的输入,由cronolog针对一个事先给定的文件名的命名规则,去过滤数据,定期关闭旧文件,然后再开启新档。如果我们将文件名的命名规则设为catalina.out.%Y-%m-%d,就可以做到每天开一个新的catalina-yyyy-mm-dd.out的档案了。

Step1:安装cronolog

  • 下载cronolog-1.6.2.tar.gz 至/usr/local/src/ 目录下

cd /usr/local/src 
tar zxvf cronolog-1.6.2.tar.gz (注意权限问题,否则可能出错)

  • 当前目录下生成一个目录cronolog-1.6.2

cd cronolog-1.6.2

yum groupinstall "Development Tools"  安装环境(此处要有足够的权限)
./configure
make
make install
  • which cronolog查找安装路径,默认应该是/usr/local/sbin/cronolog,该路径待会在修改catalina.sh时用到。

Step2:修改catalina.sh

1)将

org.apache.catalina.startup.Bootstrap "$@" start \>> "$CATALINA_OUT" 2>&1 "&"

修改为:

org.apache.catalina.startup.Bootstrap "$@" start \2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &

注:共有两处要修改

2)将touch “$CATALINA_OUT” 一行注释掉 (或直接删除)

Step3:重启tomcat使配置生效

查看logs/目录以验证配置生效:

参考:

https://www.cnblogs.com/pide/p/11429527.html

Tomcat日志设置相关推荐

  1. 设置tomcat服务为80端口,tomcat虚拟主机,tomcat日志

    配置tomcat监听端口为80 vim /usr/local/tomcat/conf/server.xml Connector port="8080" protocol=" ...

  2. 《转载》Tomcat内存设置详解

    原文地址:Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 ...

  3. 配置Tomcat监听80端口配置Tomcat虚拟主机Tomcat日志

    2019独角兽企业重金招聘Python工程师标准>>> 16.4 配置Tomcat监听80端口 Tomcat默认监听8080.8005以及8009端口,日常进行浏览器访问时,需要输入 ...

  4. Tomcat内存设置详解

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ...

  5. cat查看tomcat日志 linux_方法篇:tomcat日志切割和定期删除

    tomcat日志切割和定期删除 在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话).特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很 ...

  6. tomcat java内存_[Tomcat]Java内存溢出详解Tomcat内存设置

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1.java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在启 ...

  7. Tomcat日志记录post请求参数

    公司的项目向用户提供接口,但是最近偶尔会出现超时的情况,用户的调用设置的超时时间是1分钟,所以首先要排查代码的执行时间是否超过一分钟 @PostMapping("/updateattachm ...

  8. logstash收集tomcat日志

    目录 简介 JULI 组件的Handler与Formatter 修改tomcat控制台日志 修改tomcat访问access日志修改为json格式 修改tomcat其他日志 简介 Tomcat 的内部 ...

  9. Tomcat日志中文乱码问题处理

    Tomcat日志之所以出现中文乱码问题是因为日志输出的编码格式没有设置成UTF-8格式. 首先打开Tomcat目录下的\apache-tomcat-6.0.53\conf\logging.proper ...

  10. java tomcat 日志分析工具_tomcat日志集中采集、分析与展示的几种方法

    大家在做分布式web系统的时候,比如那么多个tomcat,每天都会产生很多的日志(虽然已经按小时进行日志拆分了,但日志内容还是很大,vim查日志的时候很慢),而且那么多个tomcat,每个tomcat ...

最新文章

  1. centos查看特定程序占用端口情况
  2. CentOS 6 IPv6 关闭方法
  3. 无法连接虚拟设备 ide1:0
  4. python默认参数只被解释一次_深入讲解Python函数中参数的使用及默认参数的陷阱...
  5. 【Pytorch神经网络基础理论篇】 08 Softmax 回归 + 损失函数 + 图片分类数据集
  6. 公众平台小程序文档和工具
  7. 程序阅读理解题目(高中语文版,附答案)
  8. 如何在 Windows 操作系统中使用 Office 模板?
  9. pr视频剪辑中工具栏功能详解
  10. uni-app 连接蓝牙打印机
  11. RabbitMQ教程(安装与使用详解,Spring集成)
  12. 接口测试的测试用例该怎么写呢?
  13. 正则表达式中常用符号
  14. psd转html的素材,Ai2Psd:一键ai转psd格式脚本
  15. 京东分布式数据库系统演进之路
  16. LL(1)语法分析实验报告
  17. 26两种主界面的设计
  18. 论文撰写八大技巧与八大心得,一文读懂
  19. Authorization—权限控制流程
  20. BERT-BiLSTM-CRF模型代码

热门文章

  1. 使用tcpdump找出PP用户
  2. Python数据清洗处理,csv,pandas,数据匹配
  3. influxdb可视化工具
  4. 微软windows10易升_微软官网下载与安装windows10系统的操作步骤
  5. 【肌电信号】基于matlab GUI MUAP波形【含Matlab源码 736期】
  6. 和利时dcs系统服务器设置,和利时DCS系统组态流程
  7. GIS离线地图的下载与发布
  8. SIFT算法流程介绍
  9. Keras中文文档 评估标准Metrics
  10. 面试阿里(P8)竟被MySQL难倒,奋发图强二次面试斩获阿里offer