有两种解决方案:
第一种方案在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的实际操作!
相关推荐
默认情况下,Tomcat的主要日志输出文件是`catalina.out`,它记录了服务器启动、运行和关闭过程中的所有标准输出和错误信息。然而,随着服务器运行时间的增长,`catalina.out`可能会变得非常大,导致日志查找和分析变...
- 这段代码的作用是在每次Tomcat执行动作时(如启动、停止),通过`cronolog`工具将当前的日志输出重定向到一个新的文件中,文件名格式为`catalina.YYYY-MM-DD.out`。 3. **保存并重启Tomcat** - 完成上述所有...
在Java Web应用开发中,Tomcat作为常用的Servlet容器,其默认的日志系统是通过`catalina.out`文件记录所有标准输出和错误输出。当应用运行一段时间后,`catalina.out`文件可能会变得非常大,占用大量磁盘空间,这...
不过,catalina.out文件不具备按天滚动的功能,随着时间的推移,它会变得越来越大,不利于日志文件的管理。另外,java.util.logging生成的日志格式与项目中使用Log4j记录的日志格式不一致,这会导致在后期日志分析时...
标题中的“tomcat7修改catalina.out日志按天生成jar文件”指的是在Tomcat 7这个流行的Java应用服务器中,对`catalina.out`日志文件进行配置,以便按照日期自动分割生成新的日志文件。这有助于管理日志,避免单个日志...
标题中的“cronolog切割tomcat catalina.out 文件 tomcat日志按小时切割”是指使用cronolog工具对Tomcat服务器的日志文件,特别是`catalina.out`文件进行按小时分割的实践方法。`catalina.out`是Tomcat默认的日志...
- 这一行代码的意思是:启动Tomcat时,通过管道`|`将标准输出和标准错误输出传递给cronolog程序处理,并按日期格式(年-月-日)生成日志文件。同时,将所有输出重定向到`/dev/null`以避免产生不必要的输出。 3. **...
catalina.out文件是Tomcat服务器的标准输出和标准错误的记录文件。每当Tomcat启动和运行应用时,所有的日志信息、异常堆栈跟踪以及其他运行信息都会被重定向到这个文件中。这个文件对于诊断问题和监控应用程序的运行...
重启Tomcat后,检查`$TOMCAT_HOME/logs`目录下的`catalina.out`文件,现在应该可以看到按照日期切分的日志文件,例如`catalina.2023-09-16.out`等。 #### 总结 通过上述步骤,我们成功地实现了在Linux环境下使用...
特别是在使用Apache Tomcat服务器时,catalina.out作为主要的日志输出文件,随着使用时间的增长其体积会变得非常庞大,这不仅会影响服务器性能,还可能带来日志分析上的不便。因此,本文将详细介绍如何通过Cronolog...
因此,本文将详细介绍如何解决Tomcat日志文件过大的问题,并通过使用`cronolog`工具实现日志文件按日期自动分割的方法。 #### Tomcat日志文件过大问题解析 1. **问题概述**: - `catalina.out`是Tomcat默认的日志...
针对Java应用程序,如Tomcat,Catalina.out日志文件通常会积累大量的运行信息,因此定期切割对于保持系统性能和监控至关重要。以下将详细介绍如何使用Logrotate实现每两小时切割Catalina.out日志。 一、Logrotate...
在这个配置中,`DailyRollingFileAppender`会每天创建一个新的日志文件,日期格式为`catalina.out.yyyy-MM-dd`。`conversionPattern`定义了日志输出的格式。 5. **重启Tomcat**:完成上述配置后,重启Tomcat服务器...
总结,通过使用`cronolog`工具,我们可以有效地对Tomcat的`catalina.out`日志进行按日期分割,避免了单个日志文件过大带来的问题,并且便于按日期查询和分析日志。这是一个简单而实用的方法,对于维护和优化Tomcat...
首先,我们要了解Tomcat的日志主要由`catalina.out`生成,这是一个默认的日志文件,包含了Tomcat启动和运行过程中的所有标准输出和错误输出。在外网部署中,为了防止日志文件过大,导致磁盘空间占用过多,我们需要...
然后,我们可以创建一个批处理脚本或者使用任务计划程序,定时运行`cronolog`命令,指定Tomcat的日志输出文件和切割规则。例如,以下是一个简单的cronolog配置: ``` cronolog -T "%Y-%m-%d.txt" "C:\path\to\...
启动Tomcat后,可以在`$CATALINA_BASE/logs`目录下看到按日期命名的日志文件,例如`catalina.2009-02-03.out`。 #### 四、日志轮转策略 除了使用cronolog进行日志分割外,还可以结合其他工具如logrotate来实现更...
而`catalina.out`文件是Apache Tomcat服务器的标准输出和错误输出的集合,包含了服务器启动、运行期间的所有信息,这对于调试和问题排查非常有用。 标题提到的"log4j切割catalina为日滚型的",指的是使用log4j配置...
这行命令表示每天0点(即凌晨12点)执行一次cronolog,将新的日志写入`/var/log/tomcat/catalina.out`,并按日期滚动到`/var/log/tomcat/catalina.YYYYMMDD.log`文件。 通过这样的配置,你可以有效地管理Tomcat的...
8. **日志与调试**:Tomcat的日志系统允许开发者自定义日志输出,通过`logging.properties`文件进行配置。`catalina.out`记录了启动和运行时的综合信息,便于诊断问题。 总之,Apache Tomcat 9.0.37作为一款轻量级...