`
danwind
  • 浏览: 232745 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

tomcat的catalina.out文件

 
阅读更多
方法1—分割流
使用cronolog工具切分Tomcat的catalina.out日志文件
cronolog一个对日志切分的小工具,其主页在http://cronolog.org/,我们也可以用它来切分Apache的日志。
1.下载cronolog-1.6.2.tar.gz
2、解压缩 
    # tar zxvf cronolog-1.6.2.tar.gz 
3、进入cronolog安装文件所在目录 
    # cd cronolog-1.6.2 
4、运行安装 
    # ./configure 
    # make 
    # make install 
5、查看cronolog安装后所在目录(验证安装是否成功) 
    # which cronolog 
一般情况下显示为:/usr/local/sbin/cronolog 

要想分割tomcat的catalina.out,需作如下工作: 
首先需要对catalina.sh文件进行备份
修改tomcat bin目录下的catalina.sh文件中的
  1. org.apache.catalina.startup.Bootstrap “$@” start  \ 
  2. >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &  
  1. org.apache.catalina.startup.Bootstrap "$@" start  2>&1 \ 
  2.     | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &  
同时,文件中有一行
  1. touch “$CATALINA_BASE”/logs/catalina.out  
可以注释掉,完成之后重起Tomcat就可以了, 
看logs文件中是否有catalina.2009-07-01.out样式的日志。
方法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总共出现三次; 

部分截图: 


shift
 

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 "$@" 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 "$@" 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的服务;
 
方法5-使用log4j分割

1) tomcat6.0下的log4j日志文件 配置过程

首先下载两个文件,如我的tomcat版本是v6.0.24

http://www.apache.org/dist/tomcat/tomcat-6/v6.0.24/bin/extras/tomcat-juli-adapters.jar
http://www.apache.org/dist/tomcat/tomcat-6/v6.0.24/bin/extras/tomcat-juli.jar

按照我写的目录结构来放置。
tomcat6-------lib
                |       |--------tomcat-juli-adapters.jar
                |       |--------log4j.jar
                |       |--------log4j.properites
                | 
                |----bin
                         |--------tomcat-juli.jar
最后把log4j.properties里的配置写好就可以了。

如:
######################################################################

# 设定logger的root level为DEBUG,指定的输出目的地(appender)为file
log4j.rootLogger=INFO, file , stdout

# 设定stdout控制台 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %5p %c{2} /"%m/"%n

# 设定输出位置,此处设定tomcat目录的logs下,文件名为bugmgrsys.log。 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=${catalina.home}/logs/projectLogs.log
log4j.appender.file.MaxFileSize=1024KB

# 设定制定的file使用的PatternLayout. 
# 有关ConversionPattern中的转意字符的含义参考说明 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss} %-5p [%C] (%F:%L) - %m%n
######################################################################

2)tomcat5.5 下的log4j日志文件 配置过程

log4j.properties放在%CATALINA_HOME%/conf/common/classes下

# 设定logger的root level为DEBUG,指定的输出目的地(appender)为file
log4j.rootLogger=INFO, file , stdout

# 设定stdout控制台 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %5p %c{2} /"%m/"%n

# 设定输出位置,此处设定tomcat目录的logs下,文件名为bugmgrsys.log。 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=${catalina.home}/logs/bugmgrsys.log
log4j.appender.file.MaxFileSize=1024KB

# 设定制定的file使用的PatternLayout. 
# 有关ConversionPattern中的转意字符的含义参考说明 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss} %-5p [%C] (%F:%L) - %m%n

log4j.jar放于%CATALINA_HOME%/common/lib下

高级篇:

查了很多人写的资料如果要产生bugmgrsys_2008_05_09.log文件是可能的。不过,注意了是不过,

不过这个文件也只有05月09号过去了这个文件才会产生,而当天的文件是bugmgrsys

为什么会这样呢,不妨碍来看看配置文件吧。我是在上述文件上改的 = =

# 设定logger的root level为DEBUG,指定的输出目的地(appender)为file
log4j.rootLogger=INFO, file , stdout

# 设定stdout控制台 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %5p %c{2} /"%m/"%n

# 设定输出位置,此处设定tomcat目录的logs下,文件名为bugmgrsys.log。 
#log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.file.File=${catalina.home}/logs/bugmgrsys
#log4j.appender.file.MaxFileSize=1024KB

# 设定制定的file使用的PatternLayout. 
# 有关ConversionPattern中的转意字符的含义参考说明 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss} %-5p [%C] (%F:%L) - %m%n
#log4j.appender.file.layout.ConversionPattern=%d %-5p [%t] %C{2} (%F:%L) - %m%n

分享到:
评论

相关推荐

    cronolog切割tomcat catalina.out 文件 tomcat日志按小时切割

    标题中的“cronolog切割tomcat catalina.out 文件 tomcat日志按小时切割”是指使用cronolog工具对Tomcat服务器的日志文件,特别是`catalina.out`文件进行按小时分割的实践方法。`catalina.out`是Tomcat默认的日志...

    Tomcat输出catalina.out的大小控制

    `catalina.out`是Tomcat默认的日志文件,它记录了Tomcat启动、运行以及错误信息,对开发者和管理员来说非常重要。然而,如果不进行适当管理,这个日志文件可能会无限制增长,占用大量磁盘空间,甚至可能导致服务器...

    Linux tomcat下catalina.out日志文件分割

    Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...

    windows下tomcat的catalina.out按天自动分割

    随着应用程序的运行,Tomcat会生成大量的日志文件,其中最重要的是`catalina.out`。这个文件用于记录Tomcat运行期间的各种信息,包括但不限于启动、关闭、错误以及警告等。然而,随着日志数据的不断累积,单一的日志...

    tomcat 下catalina.out 日志乱码问题处理

    描述中提到的“部署到Linux服务器后,控制台catalina.out文件输出的中文为乱码”,这暗示了问题可能与操作系统(这里是Linux)的环境设置有关,特别是与文件的编码格式和系统的默认字符集设置。 标签“tomcat”、...

    Linux下tomcat日志catalina.out按天(/周)分割

    默认情况下,Tomcat的主要日志输出文件是`catalina.out`,它记录了服务器启动、运行和关闭过程中的所有标准输出和错误信息。然而,随着服务器运行时间的增长,`catalina.out`可能会变得非常大,导致日志查找和分析变...

    Tomcat使用Log4j输出catalina.out日志

    在Tomcat中,默认的日志是通过catalina.out文件记录的,它使用java.util.logging包提供的日志系统。不过,catalina.out文件不具备按天滚动的功能,随着时间的推移,它会变得越来越大,不利于日志文件的管理。另外,...

    Tomcat日志catalina.out过大解决方案--使用logback按日轮转.rar

    在Java Web应用开发中,Tomcat作为常用的Servlet容器,其默认的日志系统是通过`catalina.out`文件记录所有标准输出和错误输出。当应用运行一段时间后,`catalina.out`文件可能会变得非常大,占用大量磁盘空间,这...

    tomcat7修改catalina.out日志按天生成jar文件

    标题中的“tomcat7修改catalina.out日志按天生成jar文件”指的是在Tomcat 7这个流行的Java应用服务器中,对`catalina.out`日志文件进行配置,以便按照日期自动分割生成新的日志文件。这有助于管理日志,避免单个日志...

    TOMCAT在LINUX下catalina.out文件分割

    logrotate`中添加一行`0 0 * * * /usr/local/sbin/cronolog /path/to/tomcat/logs/catalina.%Y%m%d.out /path/to/tomcat/logs/catalina.out`,这将在每天0点创建一个格式为`catalina.20220525.out`的新日志文件。...

    tomcat catalina.out日志分离.7z

    tomcat日志 catalina.out分离 免去catalina,out过大的情况,并且查看日志方便,里面包含了食用方法和一个写好的catalina.sh文件 安装好cronolog后直接覆盖源文件

    按天切割tomcat的catalina.out日志(附cronolog安装包)

    catalina.out是tomcat把stdout和stderr重定向到文件后生成的日志文件,其生成是不受logging....文档详细介绍如何安装cronolog工具,以及如何配置tomcat使用该工具,每天生成一个cataline.out文件,并附cronolog安装包。

    tomcat配置catalina.out文件分割.pdf

    tomcat的catalina.out是tomcat的控制台输出⽂件,在tomcat持续运⾏的过程中,该⽂件会越来 越⼤,并且tomcat⾃身是没有带分割catalina.out的功能的。所有档如果某些需求需要导致我们查看 catalina.out⽂件的时候 ...

    Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式

    在Java Web开发中,Tomcat是一个广泛使用的应用服务器,它默认使用`catalina.out`文件来记录所有标准输出和错误输出。然而,对于大型应用或长时间运行的服务器,`catalina.out`可能会变得非常大,不利于日志管理和...

    catalina.out日志查看工具

    "catalina.out"是Apache Tomcat服务器的标准输出日志文件,它记录了Tomcat启动、运行以及关闭过程中的所有信息,包括错误消息、警告、调试信息等。这个日志文件对开发者和系统管理员来说非常重要,因为它可以帮助...

    catalina.out 日志分割

    以Tomcat为例,其默认的日志文件名为`catalina.out`,随着时间推移,该文件可能会变得非常庞大,这不仅消耗大量磁盘空间,还可能降低系统性能。 #### 二、cronolog工具简介 为了解决这一问题,可以使用专门的日志...

    Catalina.out日志分割工具

    `Catalina.out`是Tomcat默认的日志文件,记录了Tomcat启动、运行以及错误信息,对于监控和调试非常关键。然而,随着服务器运行时间的增长,`Catalina.out`可能会变得非常庞大,占用大量磁盘空间,并可能导致性能问题...

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

    在Tomcat这样的Java应用服务器中,`catalina.out`是默认的日志文件,记录了Tomcat启动、运行过程中的所有信息,包括错误、警告以及普通日志。随着服务器运行时间的增长,`catalina.out`可能会变得非常庞大,不仅占用...

    tomcat下用Log4j 按文件大小,生成catalina.out日志文件

    在Tomcat中配置Log4j,可以实现按照文件大小生成日志文件,如`catalina.out`,从而避免单个日志文件过大导致的管理不便。 首先,我们需要理解Log4j的工作原理。Log4j主要包括三个核心组件:Logger(日志器)、...

    切割tomcat的catalina.out的日志文件

    tomcat的catalina.out的日志文件过大,用来切割日志文件用的xshell脚步。

Global site tag (gtag.js) - Google Analytics