`
zcz123
  • 浏览: 158686 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类

tomcat catalina.out 按日期输出文件

 
阅读更多

有两种解决方案:

第一种方案在log4j.propeties里面配置,具体的配置参考如下:

log4j.rootLogger=INFO, STDOUT, CATALINA

log4j.logger.org.hibernate.hql=ERROR

log4j.logger.org.hibernate.SQL=ERROR

 

#控制台输出

log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender

log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout

log4j.appender.STDOUT.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n

log4j.appender.STDOUT.Target=System.out

 

# Define CATALINA appenders  

log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender  

#主要是这句话输出日志目标地址

log4j.appender.CATALINA.file = ${catalina.base}/logs/catalina.out  

log4j.appender.CATALINA.DatePattern ='.'yyyy-MM-dd  

log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout  

log4j.appender.CATALINA.layout.ConversionPattern=%d %5p [%t] (%F\:%L) - %m%n  

log4j.appender.CATALINA.append =true

这种方案适用window和linux系统,也比较灵活!

第二种方案,是在liunx(我的是CentOS6)下适用,具体看下面的操作步骤:

利用工具软件cronolog可以协助Web Server之类的做 log 檔的 rotate

以下是简单的过程说明:
1.安装cronolog 
2.修改catalina.sh 
3.重新启动Tomcat

1 安装cronolog 
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz(目前已失效,用百度其他方式下载)
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make
make install
用which cronolog可以查到安装的路径,默认应该是/usr/local/sbin/cronolog,这个路径待会在修改catalina.sh时会用到。
2 修改catalina.sh 
Tomcat 6.0.43的版本为例
2.1 第一步

if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
修改为
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d
fi
2.2 第二步

touch "$CATALINA_OUT"
改为
#touch "$CATALINA_OUT"
2.3 第三步

org.apache.catalina.startup.Bootstrap "$@" start /
>> "$CATALINA_OUT" 2>&1 &
修改为
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 /
| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
2.4 重新启动Tomcat 
service tomcat restart 
可以在Tomcat的logs目录底下找到以系统日期为结尾的catalina.out.yyyy-mm-dd的档案,这样子就成功了。
后续就是持续观察看看是不是每天都有产生一个新的catalina.out.yyyy-mm-dd档案。然后再安排定期删除这些较旧的log檔即可。

3.设置log4j.properties日志,只设置打印到控制台

log4j.rootLogger=INFO, STDOUT

log4j.logger.org.hibernate.hql=ERROR

log4j.logger.org.hibernate.SQL=ERROR

 

#控制台输出

log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender

log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout

log4j.appender.STDOUT.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n

 

log4j.appender.STDOUT.Target=System.out

通过这两种方式都可以达到把catalina.out日志文件按照日期进行分割,大大减少单个文件过大的问题,以上都是本人在window和linux的实际操作!

 

分享到:
评论

相关推荐

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

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

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

    - 这段代码的作用是在每次Tomcat执行动作时(如启动、停止),通过`cronolog`工具将当前的日志输出重定向到一个新的文件中,文件名格式为`catalina.YYYY-MM-DD.out`。 3. **保存并重启Tomcat** - 完成上述所有...

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

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

    Tomcat使用Log4j输出catalina.out日志

    不过,catalina.out文件不具备按天滚动的功能,随着时间的推移,它会变得越来越大,不利于日志文件的管理。另外,java.util.logging生成的日志格式与项目中使用Log4j记录的日志格式不一致,这会导致在后期日志分析时...

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

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

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

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

    catalina.out 日志分割

    - 这一行代码的意思是:启动Tomcat时,通过管道`|`将标准输出和标准错误输出传递给cronolog程序处理,并按日期格式(年-月-日)生成日志文件。同时,将所有输出重定向到`/dev/null`以避免产生不必要的输出。 3. **...

    解决Tomcat 中catalina.out持续累加问题

    catalina.out文件是Tomcat服务器的标准输出和标准错误的记录文件。每当Tomcat启动和运行应用时,所有的日志信息、异常堆栈跟踪以及其他运行信息都会被重定向到这个文件中。这个文件对于诊断问题和监控应用程序的运行...

    linux下切分tomcat的Catalina.out日志

    重启Tomcat后,检查`$TOMCAT_HOME/logs`目录下的`catalina.out`文件,现在应该可以看到按照日期切分的日志文件,例如`catalina.2023-09-16.out`等。 #### 总结 通过上述步骤,我们成功地实现了在Linux环境下使用...

    catalina.out日志切分.docx

    特别是在使用Apache Tomcat服务器时,catalina.out作为主要的日志输出文件,随着使用时间的增长其体积会变得非常庞大,这不仅会影响服务器性能,还可能带来日志分析上的不便。因此,本文将详细介绍如何通过Cronolog...

    tomcat日志过大问题

    因此,本文将详细介绍如何解决Tomcat日志文件过大的问题,并通过使用`cronolog`工具实现日志文件按日期自动分割的方法。 #### Tomcat日志文件过大问题解析 1. **问题概述**: - `catalina.out`是Tomcat默认的日志...

    Logrotate实现Catalina.out日志每俩小时切割示例

    针对Java应用程序,如Tomcat,Catalina.out日志文件通常会积累大量的运行信息,因此定期切割对于保持系统性能和监控至关重要。以下将详细介绍如何使用Logrotate实现每两小时切割Catalina.out日志。 一、Logrotate...

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

    在这个配置中,`DailyRollingFileAppender`会每天创建一个新的日志文件,日期格式为`catalina.out.yyyy-MM-dd`。`conversionPattern`定义了日志输出的格式。 5. **重启Tomcat**:完成上述配置后,重启Tomcat服务器...

    Tomcat日志分割.docx

    总结,通过使用`cronolog`工具,我们可以有效地对Tomcat的`catalina.out`日志进行按日期分割,避免了单个日志文件过大带来的问题,并且便于按日期查询和分析日志。这是一个简单而实用的方法,对于维护和优化Tomcat...

    tomcat 外网部署按天切分保存日志配置文件

    首先,我们要了解Tomcat的日志主要由`catalina.out`生成,这是一个默认的日志文件,包含了Tomcat启动和运行过程中的所有标准输出和错误输出。在外网部署中,为了防止日志文件过大,导致磁盘空间占用过多,我们需要...

    win系统下的tomcat日志按日期切割工具

    然后,我们可以创建一个批处理脚本或者使用任务计划程序,定时运行`cronolog`命令,指定Tomcat的日志输出文件和切割规则。例如,以下是一个简单的cronolog配置: ``` cronolog -T "%Y-%m-%d.txt" "C:\path\to\...

    分割Tomcat日志

    启动Tomcat后,可以在`$CATALINA_BASE/logs`目录下看到按日期命名的日志文件,例如`catalina.2009-02-03.out`。 #### 四、日志轮转策略 除了使用cronolog进行日志分割外,还可以结合其他工具如logrotate来实现更...

    log4j切割catalina为日滚型的

    而`catalina.out`文件是Apache Tomcat服务器的标准输出和错误输出的集合,包含了服务器启动、运行期间的所有信息,这对于调试和问题排查非常有用。 标题提到的"log4j切割catalina为日滚型的",指的是使用log4j配置...

    tomcat日志分隔配置手册.zip

    这行命令表示每天0点(即凌晨12点)执行一次cronolog,将新的日志写入`/var/log/tomcat/catalina.out`,并按日期滚动到`/var/log/tomcat/catalina.YYYYMMDD.log`文件。 通过这样的配置,你可以有效地管理Tomcat的...

    apache-tomcat-9.0.37.zip

    8. **日志与调试**:Tomcat的日志系统允许开发者自定义日志输出,通过`logging.properties`文件进行配置。`catalina.out`记录了启动和运行时的综合信息,便于诊断问题。 总之,Apache Tomcat 9.0.37作为一款轻量级...

Global site tag (gtag.js) - Google Analytics