Tomcat关闭日志catalina.out

catalina.out文件会越来越大,对系统的稳定造成了一定的影响。conf/logging.properties

一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响。
可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。

catalina.org.apache.juli.FileHandler.level = WARNING
catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
catalina.org.apache.juli.FileHandler.prefix = catalina.

将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。

一般日志的级别有:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

来自:

http://rwl6813021.iteye.com/blog/752416

Linux下的tomcat产生的日志文件不象windows下的按时间时间和大小来处理,

尽管也生成了日志文件catalina.2009-0x-0x.log类型的文件,但是其中的catalina.out文件依然增大;它为啥在增大,为啥在增大,原因我就不探究了。

Tomcat的官方文档,由于是外文,偶还没有看明白di;

http://tomcat.apache.org/tomcat-6.0-doc/logging.html

据说是修改某些配置可以实现,希望高人指点,给个官方的解决方案;

老是增大也不是办法,还是想其他办法搞定它为好:

方法1—分割流

使用cronolog工具切分Tomcat的catalina.out日志文件

cronolog一个对日志切分的小工具,其主页在http://cronolog.org/,我们也可以用它来切分Apache的日志。

具体的方法,您可以去google之,这个方法占网络搜索结果的主流;

方法2—脚本流

事情终究不过是个大文件处理的问题,强大的bash来搞定;

使用cron每天来备份当前的catalina.out,然后清空他的内容;

参考脚本如下:

#!/bin/sh
y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d"`
cd /PATH /tomcat/logs
cp catalina.out catalina.out.$y$m$d
echo > catalina.out
exit

注意linux系统的cron服务是否启动,是否正常工作,还有脚本的存放路径(原因暂保密)

方法3—猥琐流

打开bin目录下的catalina.sh文件,终究不过是个bash文件,

查找一下,catalina.out总共出现三次;

touch "$CATALINA_BASE"/logs/catalina.out
if [ "$1" = "-security" ] ; then
echo "Using Security Manager"
shift
"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" -Djava.security.manager -
?-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy -Dcatalina.base="$CATALINA_BASE" -Dcatalina.home="$CATALINA_HOME" -Djava.io.tmpdir="$CATALINA_TMPDIR" org.apache.catalina.startup.Bootstrap "[email protected]" start >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
if [ ! -z "$CATALINA_PID" ]; then
echo $! > $CATALINA_PID
fi
else
"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" -Dcatalina.base="$CATALINA_BASE" -Dcatalina.home="$CATALINA_HOME" -Djava.io.tmpdir="$CATALINA_TMPDIR" org.apache.catalina.startup.Bootstrap "[email protected]" start >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &

个人觉得也就是这里是写catalina.out文件的;让他写到一个其他的空设备如何?

修改前注意原文件的catalina.sh的备份哟~!!

修改以上代码中的

>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

>> /dev/null 2>&1 &

保存,然后启动tomcat,目前这个 catalina.out一直是空的了。

这个方法是偶自己想到的,个人认为比较勇敢,目前还没有在生产环境测试过。虚拟机测试是通过的。

方法4—人流

这个方法其实就是linux系统管理员手工去删除,人工操作,简称“人流”;

删除之前最好停止tomcat的服务;

1 catalina.org.apache.juli.FileHandler.level = WARNING
2 catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3 catalina.org.apache.juli.FileHandler.prefix = catalina.
时间: 2024-10-29 19:06:34

Tomcat关闭日志catalina.out的相关文章

Tomcat关闭日志输出

tomcat中禁用catalina.out的输出,又可能很大. 1.直接修改catalina.sh文件的输出语句. 在文件中找到以下内容. if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out 输入到/dev/null黑洞,上面内容修改成下面内容. if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT=

Tomcat怎么关闭日志输出

tomcat中禁用catalina.out的输出,又可能很大. 1.直接修改catalina.sh文件的输出语句. 在文件中找到以下内容. if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out 输入到/dev/null黑洞,上面内容修改成下面内容. if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT=

linux下打开、关闭tomcat,实时查看tomcat执行日志

?? 启动:通常是运行sh tomcat/bin/startup.sh 停止:通常是运行sh tomcat/bin/shutdown.sh脚本命令 查看:运行ps -ef |grep tomcat 输出例如以下 *** 5144   .. .等等.Bootstrap start 说明tomcat已经正常启动. 5144 就为进程号 pid = 5144 杀死:kill -9 5144 ------------------------linux下实时查看tomcat执行日志------------

tomcat里的几类日志: Catalina(catalina.out,catalina.log) localhost manager admin host-manager

tomcat里的几类日志: Catalina localhost manager host-manager access 前言:有时候我们会碰到代码本地测试没问题,然鹅发到生产却出现了问题.这时候想解决问题,在本地测试没多大效果的,最好的办法是去生产上把日志搂出来,根据异常日志来排查问题,但是生产上那么多日志该如何下手呢? 项目中常用的三种日志catalina.out catalina.log localhost.log 一般我们应该从catalina.out,catalina.log和loca

如何处理Tomcat日志catalina.out日志文件过大的问题

tomcat默认日志文件为catalina.out,随着系统运行时间的增加,该日志文件大小会不断增大,甚至增大到G级.不仅会导致我们无法使用常规工具查找系统问题,而且会影响tomcat性能(比如我在维护中遇到的出现web页面文件上传<swfupload>错误:404). 采用cronlolog工具对日志拆分的方式处理该问题 1.下载cronolog工具,我下载的版本是cronolog-1.6.2 2.将下载好的文件解压,tar xvzf cronolog-1.6.2.tar.gz 3.切换到解

Tomcat容器日志收集方案fluentd+elasticsearch+kilbana

在上一遍博文中我们介绍了Nginx容器访问日志收集的方案,我们使用EFK的架构来完成对容器日志内应用日志的收集,如果不知道什么是EFK架构,那么请访问以下链接获取相关的帮助 Nginx容器日志收集方案fluentd+elasticsearch+kilbana 如果你已经认真阅读了上面的链接,并撑握了其用法,那么再来看本博文(针对于初学者),下面假设我们已经搭建好了上一讲所需要的基础环境,我们接下来就直接开始步入正题. 在步入正题之前我们首先需要确认我们需要完成的目标与效果,同样我们在启动Tomc

tomcat accesslog日志扩展

由于工作需要,最近对tomcat的日志进行了一些研究,发现其日志大致可以分为两类,一类是运行日志,即平常我们所说的catalina.out日志,由tomcat内部代码调用logger打印出来的:另一类是accesslog访问日志,即记录外部请求访问的信息.处理这两类日志,tomcat默认采用了不同的方式,运行类日志默认采用的是java.util.logging框架,由conf下的logging.properties负责配置管理,也可以支持切换到log4j2(具体可参看我的前一篇博文:升级tomc

配置Tomcat的日志系统

成功配置tomcat的log4j日志系统,格式:HTML+每天以yyyy-mm-dd.log命名的日志文件 一.引言: 实习单位让用log4j配置webapp的日志系统,要求产生的日志文件是html格式,而且是每天以yyyy-mm-dd日期格式命名的日志文件. 这个以前让自己费神了一段时间,近期花了两天时间总算配置成功了!只是配置成功的是tomcat的,不是单个webapp的,现把步骤记录下来,晚上再配置webapp的.先写一步一步的操作,后面再解说一些log4j的关键知识点. 二.一步一步配置

Tomcat组件梳理--Catalina

Tomcat组件梳理--Catalina 1.定义和功能 Catalina是Tomcat的核心组件,是Servlet容器,Catalina包含了所有的容器组件,其他模块均为Catalina提供支撑.通过Coyote模块提供连接通信,Jasper模块提供JSP引擎,Naming提供JNDI服务,Juli提供日志服务.结构如下: 主要的功能包括接收请求,处理请求,返回结果.但是这些具体的实现是在catalina里面的子容器里面,我们在对应的文章里面讲解,此处聚焦在Catalina的源代码提供的功能上