-
2020-05-09 09:42:51
问题:
tomcat每次启动时,自动在logs目录下生产以下日志文件,且每天都会生成对应日期的一个文件,造成日志文件众多,而且不知道各个文件记录的信息大致内容。localhost.2017-07-05.txt catalina.2017-07-05.txt manager.2017-07-05.txt host-manager.2017-07-05.txt
目的
了解tomcat日志生成的原理和日志记录的大致内容。修改步骤
打开Tomcat目录conf\logging.properties,修改如下,所有日志输出到tomcat开头的文件中
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
1catalina.org.apache.juli.FileHandler.prefix = tomcat.2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
2localhost.org.apache.juli.FileHandler.prefix = tomcat.3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.
3manager.org.apache.juli.FileHandler.prefix = tomcat.4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
4host-manager.org.apache.juli.FileHandler.prefix = tomcat.Tomcat日志设定
1、Tomcat 日志概述
Tomcat 日志信息分 为 两 类 :
一、是运行中的日志,它主要 记录 运行的一些信息,尤其是一些异常 错误 日志信息 。
二、是 访问 日志信息,它 记录 的 访问 的 时间 , IP , 访问 的 资 料等相 关 信息。
2 Tomcat 日志配置
2.1 访问日志的配置
默认 tomcat 不记录访问日志,如下方法可以使 tomcat 记录访问日志
编辑 catalina/conf/server.xml文件.注:{catalina} 是 tomcat 的安装目录
把以下的注释 ( ) 去掉即可。<!-- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> -->
2.2 配置tomcat 写出更详细的日志
通过对 2.1 示例中 pattern 项的修改,可以改变日志输出的内容。
该项值可以为: common 与 combined ,这两个预先设置好的格式对应的日志输出内容如下:
common 的值: %h %l %u %t %r %s %b
combined 的值: %h %l %u %t %r %s %b %{Referer}i %{User-Agent}i
pattern 也可以根据需要自由组合, 例如 pattern="%h %l"
对于各fields字段的含义请参照 :
http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html 中的 Access Log Valve 项3 修改Tomcat运行日志的等级
3.1 日志类型与级别
Tomcat 日志分为下面5类:
catalina 、 localhost 、 manager 、 admin 、 host-manager
每类日志的级别分为如下 7 种:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
3.2 日志级别的设定方法
修改 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#可配置项(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 #上面的输出格式类似: # 四月 24, 2018 6:49:32 下午 org.apache.catalina.startup.Catalina start # 信息: Server startup in 9772 ms #比较丑,可以输出这种格式:24-Apr-2018 18:52:16.134 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 12631 ms #java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter #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
更多相关内容 -
LINUX 查找tomcat日志关键词命令
2020-09-15 11:06:29下面小编就为大家带来一篇LINUX 查找tomcat日志关键词命令。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
Tomcat 日志切割(logrotate)详细介绍
2021-01-10 13:40:02Tomcat 日志切割 logrotate是个强大的...如下对Tomcat日志catalina.out日志切割 # ls -lh /usr/local/tomcat/logs/catalina.out -rw-r--r-- 1 www www 14M Aug 28 15:55 /usr/local/tomcat/logs/catalina.out 配置 -
idea日志乱码和tomcat日志乱码问题的解决方法
2020-08-18 16:09:39主要介绍了idea日志乱码和tomcat日志乱码问题的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 -
Tomcat日志文件定时清理备份的脚本
2020-09-30 11:28:32主要介绍了Tomcat日志文件定时清理备份的脚本的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 -
tomcat日志详细说明
2018-12-24 16:55:00tomcat日志详解,有了这一个文档,再也不用担心tomcat日志不会看了 -
Linux下把tomcat日志按日期自动分割
2020-09-15 07:55:41主要介绍了Linux下把tomcat日志按日期自动分割的相关资料,需要的朋友可以参考下 -
tomcat日志分割脚本
2018-05-04 16:27:29自己写的tomcat日志分割脚本,自动分割日志,自动删除过期日志,也可以用于其他容器日志分割,稍加修改即可 -
tomcat日志log4j配置的jar
2018-09-17 14:06:38tomcat日志log4j配置的jar,tomcat-juli-adapters,tomcat-juli,log4j-1.2.17 -
Tomcat日志catalina.out过大解决方案--使用logback按日轮转.rar
2020-01-04 16:33:10Tomcat日志catalina.out过大解决方案--使用logback的资源包,包括jar包,和使用文档,具体使用请参考我的同名博客。 -
Linux系统Tomcat日志分割jar包及配置文件
2018-11-15 17:42:34Linux Tomcat下使用Log4j接管catalina.out 日志文件生成方式,按天分割,解决catalina.out日志文件过大问题 1、将log4j-1.2.17.jar、tomcat-juli-adapters.jar两个jar包和log4j.properties文件拷贝到 Tomcat 的 lib... -
win系统下的tomcat日志按日期切割工具
2018-08-15 15:26:08开发过程win系统下tomcat运行日志按日期切割,win系统下tail命令小工具 备用 -
tomcat日志分析器.jar
2019-06-03 17:43:23用java swing写的一个简单的日志分析工具,读取的是tomcat默认的日志格式,用的是jdk1.7编译的。...如果日志文件比较大,可以用命令设置内存启动(如:java -Xms512m -Xmx2048m -jar tomcat日志分析器.jar) -
ELK 收集 Tomcat 日志
2022-03-14 12:17:1401 Tomcat 安装与测试 1.1 安装 Tomcat 安装Tomcat的本体和相关官方测试demo,参考链接 apt-get install tomcat8 -y # 安装Tomcat本体 apt-get install tomcat8-docs tomcat8-examples tomcat8-admin -y # 安装测试...01 Tomcat 安装与测试
1.1 安装 Tomcat
安装Tomcat的本体和相关官方测试demo,参考链接
apt-get install tomcat8 -y # 安装Tomcat本体 apt-get install tomcat8-docs tomcat8-examples tomcat8-admin -y # 安装测试demo
1.2 Tomcat 启动检查
systemctl start tomcat8 # 启动Tomcat systemctl status tomcat8 netstat -lntup|grep 8080 # 端口测试 lsof -i:8080 # 端口检查得到输出 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 4502 tomcat8 63u IPv6 125026 0t0 TCP *:http-alt (LISTEN)
1.3 查看 Tomcat 日志
启动tomcat之后,使用本地浏览器访问
http://localhost:8080/
访问tomcat页面,在页面中点击按钮产生HTTP请求,让tomcat产生日志tail -f /var/log/tomcat8/localhost_access_log.2021-08-01.txt
02 修改 Tomcat 日志为 Json 格式
打开Tomcat的
server.xml
配置文件进行修改,在日志文件中的文末修改如下对应设置# 编辑配置文件 vim /etc/tomcat8/server.xml #将以下内容替换配置文件中135行对应内容 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".log" pattern="{"client":"%h", "client user":"%l", "authenticated":"%u", "access time":"%t", "method":"%r", "status":"%s", "send bytes":"%b", "Query?string":"%q", "partner":"%{Referer}i", "Agent version":"%{User-Agent}i"}"/> # 查看修改内容 cat -n /etc/tomcat8/server.xml
重新启动tomcat并查看日志,检验是否配置成功,产生新的日志还是需要通过使用浏览器访问8080端口,在Tomcat的demo样例中对tomcat发送请求产生日志。
# 先清空日志 > /var/log/tomcat8/localhost_access_log.2021-08-02.txt # 重新启动Tomcat systemctl restart tomcat8 # 查看日志 root@master:/var/log/tomcat8# tail -f /var/log/tomcat8/localhost_access_log.2021-08-02.log # 查看日志命令 {"client":"172.16.255.1", "client user":"-", "authenticated":"-", "access time":"[02/Aug/2021:02:23:55 +0000]", "method":"GET /examples/servlets/images/return.gif HTTP/1.1", "status":"200", "send bytes":"1231", "Query?string":"", "partner":"http://172.16.255.131:8080/examples/servlets/", "Agent version":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"} {"client":"172.16.255.1", "client user":"-", "authenticated":"-", "access time":"[02/Aug/2021:02:23:57 +0000]", "method":"GET /examples/servlets/servlet/RequestParamExample HTTP/1.1", "status":"200", "send bytes":"673", "Query?string":"", "partner":"http://172.16.255.131:8080/examples/servlets/", "Agent version":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"} {"client":"172.16.255.1", "client user":"-", "authenticated":"-", "access time":"[02/Aug/2021:02:24:01 +0000]", "method":"GET /host-manager/html HTTP/1.1", "status":"401", "send bytes":"2044", "Query?string":"", "partner":"http://172.16.255.131:8080/", "Agent version":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"}
03 配置 Filebeat 采集 Tomcat 日志
新增Filebeat输入配置,将tomcat日志参照Nginx的Json格式日志采集方式配置如下
vim
小技巧:将连续多行内容复制对应位置使用t
命令,在Normal模式中输入:2,7t11
表示将第二到第七行的内容复制到第十一行开头;将连续多行内容移动对应位置使用m
命令,在Normal模式中输入:2,7m11
表示将第二到第七行的内容移动到第十一行开头vim
小技巧:在输入内容时要使用到某个文件路径可以是用!
命令然后使用shell命令查看内容,例如查看某个文件的路径可以在Normal模式中输入:!ls /var/log/tomcat8/...
提示# ================== Filebeat inputs =============== # ------------------------------Tomcat---------------------------------- - type: log enabled: true paths: # - /var/log/tomcat8/localhost_access_log.2021-08-02.log # 为了能够采集所有日期的日志,将文件名中的指定日期改成通配符`*` - /var/log/tomcat8/localhost_access_log.*.log json.keys_under_root: true json.overwrite_keys: true tags: ["tomcat"] # ================================== Outputs =================================== # ---------------------------- Elasticsearch Output ---------------------------- output.elasticsearch: hosts: ["172.16.255.131:9200"] indices: - index: "nginx-access-%{[agent.version]}-%{+yyyy.MM}" when.contains: tags: "access" - index: "nginx-error-%{[agent.version]}-%{+yyyy.MM}" when.contains: tags: "error" # 在输出配置中添加如下索引设置识别tomcat日志,值得注意的时这里不需要再重新编辑template设置,应该pattern配置只在第一次使用时进行匹配识别 - index: "tomcat-access-%{[agent.version]}-%{+yyyy.MM}" when.contains: tags: "tomcat"
04 使用Kibana查看Tomcat日志
配置完成之后,重新启动Filebeat采集Json格式日志
systemctl restart filebeat
查看ES中存储的Tomcat日志是否是Json格式
-
Linux下tomcat日志catalina.out按天(/周)分割
2017-05-24 13:13:51针对linux环境上tomcat不断输出到catalina.out文件的问题,提供一个按天分割catalina.out的脚本,以及操作说明。绝对可用! -
ELK+Redis 收集tomcat日志文件
2016-09-07 23:19:52centos6.7 成功搭建并运行elk+redis 按照文档来基本都能成功。 -
linux shell脚本定时清理tomcat日志文件
2014-12-27 10:50:30linux 环境中 脚本 定时清理tomcat日志文件 -
tomcat 日志打印
2013-09-27 02:27:33tomcat日志时间设置格式如下,远程访问打印信息设置 -
定时清理tomcat日志脚本cleanOUT.sh
2020-06-15 11:53:14定时清理tomcat日志脚本 cleanOUT.sh 每天清理按照每天切割清理,不会用留言,包教会, -
tomcat日志过大问题
2018-01-16 09:38:57tomcat生成日志文件过大,而且还没有日期,这个文档把日志按日期分类,便于管理删除等。。 -
Tomcat日志分割
2022-01-05 22:11:36Tomcat日志分割 修改后的tomcat都是按日保存日志文件,文件格式如:catalina.2011-11-07.out 方法一:使用cronolog 下载安装 cronolog yum install -y ...Tomcat日志分割
修改后的tomcat都是按日保存日志文件,文件格式如:catalina.2011-11-07.out
方法一:使用cronolog
-
下载安装 cronolog
yum install -y http://rpmfind.net/linux/epel/7/x86_64/Packages/c/cronolog-1.6.2-14.el7.x86_64.rpm
2.编辑./bin/catalina.sh
替换下面的行(有两处,不过一般在 -security 中的那一行不需要去关注,不妨两处全替换了)
将:
org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&"
改为:
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ | /usr/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out>>/dev/null &
改完重启服务,查看日志文件为如下,修改成功
方法二:使用rotatelogs(appache自带的工具)
which rotatelogs yum provides */rotatelogs #(查找命令对应的软件包。)
将:
>> "$CATALINA_OUT" 2>&1 "&"
改为:
2>&1 | /usr/sbin/rotatelogs "$CATALINA_BASE"/logs/catalina-%Y-%m-%d.out 86400 480 &
改完重启服务,查看日志文件,修改成功
-
-
Tomcat日志配置远程rsyslog采集
2022-03-20 20:13:39Tomcat日志数据的采集有很多种方式,使用tail是最简单的方法,但必须保证catalina.out日志中的每行都是以日期格式开头的。除了tail方法外,还可以通过对rsyslog配置实现,本博客主要通过**配置rsyslog进行Tomcat日志...Tomcat日志数据的采集有很多种方式,使用tail是最简单的方法,但必须保证catalina.out日志中的每行都是以日期格式开头的。除了tail方法外,还可以通过对rsyslog配置实现,本博客主要通过配置rsyslog进行Tomcat日志数据的采集。
文章目录
1. 检查系统中是否存在rsyslog
打开终端,查看rsyslog版本,确定系统是否存在rsyslog,命令如下:
rsyslogd -v
效果如下图所示,则系统中已存在rsyslog
2. 创建配置Tomcat日志采集配置文件
2.1 查看/var/spool目录下是否存在rsyslog,命令如下:
find /var/spool/rsyslog/
效果如下图所示:
如果/var/spool目录下不存在rsyslog,则使用mkdir命令创建rsyslog目录:mkdir /var/spool/rsyslog/
2.2 配置rsyslog.conf文件,包括模块加载、输出文件相关设置等;
编辑配置rsyslog.conf文件:vim /etc/rsyslog.conf
在Local7.*下添加如下内容:ruleset(name="MyRuleSet"){ action(type="omfile" #输出文件模式 File="/var/log/test.out") #输出文件的位置 stop }
效果如图所示
配置tomcat-log.conf,读取Tomcat的catalina.out文件并将其写入test.out文件中;
进入编辑tomcat-log.conf文件:vim /etc/rsyslog.d/tomcat-log.conf
写入如下内容:input(type="imfile" File="/usr/local/tomcat/logs/catalina.out" Tag="test1" Severity="info" Facility="local0" ruleset="MyRuleSet")
效果如图所示:
3. 启动rsyslog服务并检查配置文件是否正确
3.1 启动rsyslog服务,然后检查配置文件是否正确;
启动rsyslog服务:
systemctl restart rsyslog.service
检查配置文件:rsyslogd -N 1
效果如下图所示:
3.2 查看启动日志,再次确认配置文件是否正确;
启动日志命令:tail -f /var/log/messages
效果如下图所示:
4. 创建并查看test.out文件
在/var/log目录下新建 test.out 文件并实时查看内容;
创建test.out文件:touch /var/log/test.out
检查test.out文件是否创建成功:find /var/log/test.out
使用tail命令实时查看内容:tail -f /var/log/test.out
效果如下图所示:
5. 启动Tomcat并进行日志数据的采集
再次打开一个新的命令窗口,进入Tomcat的bin目录,启动Tomcat;
启动Tomcat命令:./startup.sh
效果如图所示:
最后返回上一个窗口,就可以看到test.out中已经存在了catalina.out文件内容啦。本博客到此就完成了项目Tomcat容器数据采集的第二部分Tomcat日志配置远程rsyslog采集,有帮助到你的话就点赞支持一下吧,后续将会更新最后一部分Linux下Tomcat日志数据采集,我是不吃泡面,不只会写BUG。
-
ELK详解(十)——Logstash收集Tomcat日志实战
2022-04-05 22:02:27今天继续给大家介绍Linux运维相关知识,本文主要内容是Logstash收集Tomcat日志。 一、Tomcat服务部署 二、Logstash配置 三、效果检验 -
Tomcat:第二章:Tomcat日志文件分析
2020-10-24 11:54:21打开 Tomcat 的日志目录,也就是 Tomcat 安装目录下的 logs 目录。 Tomcat 的日志信息分为两类 : 一是运行日志,它主要记录运行过程中的一些信息,尤其是一些异常错误日志信息 ; 二是访问日志,它记录访问的... -
tomcat 日志设置解决方案
2012-08-15 13:42:43tomcat 日志设置方案,个人写下来了,希望对同仁有所帮助 -
滚动查看tomcat日志、查看历史tomcat日志、退出tomcat日志
2020-06-01 10:27:09查看tomcat日志一、滚动查看新日志二、查看刚刚过去的日志 一、滚动查看新日志 登录服务器 切换到…/tomcat/logs目录 执行tail -f catalina.out 二、查看刚刚过去的日志 执行tail -1000 catalina.out -1000代表显示... -
tomcat日志乱码处理方法总结
2012-09-15 16:54:29tomcat日志乱码处理方法总结。自己研究,可解决任何tomcat乱码问题 -
修改tomcat日志数据路径
2022-04-01 14:10:051.修改bin中的catalina.sh 2.修改conf中的logging.properties 3.修改conf中的server.xml -
修改tomcat日志打印位置
2022-03-18 09:52:22这里是以将日志目录修改为/home/tower/lywfw/logs为例,以下都以此目录为例。 注释的是修改前,下方是修改后配置 2. 修改logging.properties 进入tomcat安装目录/conf/,找到logging.properties。 对本地的logg