catalina.out与按天的catalina.xxxx.log重复,屏蔽catalina.out的方法
修改tomcat/conf/logging.properties
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = 日志目录
1catalina.org.apache.juli.FileHandler.prefix = catalina.
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = 日志目录
2localhost.org.apache.juli.FileHandler.prefix = localhost.
3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = 日志目录
3manager.org.apache.juli.FileHandler.prefix = manager.
4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = 日志目录
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
#日志目录默认是:#${catalina.base}/logs
java.util.logging.ConsoleHandler.level = OFF #关掉
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
重启之后生效
版本:Centos7,Tomcat8
Tomcat使用Log4j输出catalina.out日志
Tomcat默认的日志是用java.util.logging,有几点不足,文件catalian.out不能像log4j一样按天生成,将越来越大。日志格式和项目中用log4j打出来的不一致,不利于解析。
从tomcat官网(https://tomcat.apache.org/tomcat-7.0-doc/logging.html)上找了下,修改一些配置、替换扩展包即可使用log4j输出catalian.out。
在$CATALINA_BASE/lib下创建log4j.properties文件
log4j.properties的内容如下:
- log4j.rootLogger = INFO, CATALINA
- # Define all the appenders
- log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender
- log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina.out
- log4j.appender.CATALINA.Append = true
- log4j.appender.CATALINA.Encoding = UTF-8
- # Roll-over the log once per day
- log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd
- log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
- #log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
- log4j.appender.CATALINA.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss.SSS} %p [%t] %c | %m%n
- # configure customed log to catalina.out
- log4j.logger.com.xxxxx = WARN, CATALINA
- log4j.logger.org.apache = WARN, CATALINA
- log4j.logger.org.mybatis = WARN, CATALINA
- log4j.logger.java.sql = WARN, CATALINA
- log4j.logger.org.springframework = WARN, CATALINA
更新tomcat相关jar包
下载log4j-1.2.17.jar(http://www.apache.org/dist/logging/log4j/1.2.17/)
下载tomcat7的2个jar包:tomcat-juli.jar 和 tomcat-juli-adapters.jar(http://www.apache.org/dist/tomcat/tomcat-7/v7.0.69/bin/extras/ 最好和tomcat版本对应)
把log4j-1.2.17.jar和tomcat-juli-adapters.jar放到$CATALINA_HOME/lib下;用新下载的tomcat-juli.jar包替换掉$CATALINA_HOME/bin/tomcat-juli.jar包。
删除$CATALINA_BASE/conf/logging.properties。
重启tomcat
关于默认的catalina日志格式
如果只想修改tomcat默认的日志格式,替换掉默认的java.util.logging.SimpleFormatter即可。SimpleFormatter类里format格式为LoggingSupport.getSimpleFormat(),它的具体值是:"%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s%n%4$s: %5$s%6$s%n",其中时间格式可能不是我们期望的,还有里面有个换行%n。比如想改为类似上面log4j的时间格式,可自己重写一个替换类(com.xxx.LogFormatter),format设为"%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL %4$s %2$s %5$s%6$s%n"。修改$CATALINA_BASE/conf/logging.properties
- java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
改为如下:
- java.util.logging.ConsoleHandler.formatter = com.xxx.LogFormatter
- org.apache.juli.FileHandler.formatter = com.xxx.LogFormatter
相关推荐
这通常是由于字符编码不匹配导致的,因为Tomcat在读取或写入日志时,使用的编码与日志内容的实际编码不一致。 描述中提到的“部署到Linux服务器后,控制台catalina.out文件输出的中文为乱码”,这暗示了问题可能与...
这个配置中,`RollingFileAppender`定义了日志写入到`logs/catalina.log`文件,并使用`TimeBasedRollingPolicy`按日期进行滚动,每天生成一个新的日志文件,最多保留30天的历史日志。`encoder`部分则设置了日志的...
这样,cronolog会将新的日志条目写入到当天的文件,如`catalina-20230401.out`,并在每天开始时创建新的文件。 为了使这个脚本生效,你需要给予其执行权限并将其添加到cron计划任务中。这通常通过`crontab -e`命令...
通过配置cronolog,我们可以在每个小时结束时自动创建一个新的日志文件,将当前小时的`catalina.out`日志内容写入新的文件,而旧的文件则保留下来。这样做不仅提高了日志管理的效率,也有利于保持系统的稳定性和资源...
针对Java应用程序,如Tomcat,Catalina.out日志文件通常会积累大量的运行信息,因此定期切割对于保持系统性能和监控至关重要。以下将详细介绍如何使用Logrotate实现每两小时切割Catalina.out日志。 一、Logrotate...
随着应用程序的运行,Tomcat会产生大量的日志信息,这些信息会被写入到一个名为catalina.out的文件中。catalina.out文件是一个关键的日志文件,通常用于诊断和监控应用服务器的状态。然而,随着时间的推移,catalina...
然后定义一个新的appender,如`APP`,指定其写入另一个日志文件,以便与`catalina.out`区分。 总之,通过Log4j对`catalina.out`进行日志分割,不仅可以实现日志的自动滚动,还可以定制日志级别、格式和存储位置,极...
随着应用程序的运行时间增加,Tomcat的日志文件(通常为`catalina.out`)会不断增大,这不仅会占用大量的磁盘空间,而且也不利于日志的查看与分析。特别是在高并发场景下,频繁的日志写入操作可能会导致性能瓶颈,...
对于Apache Tomcat服务器而言,其默认的日志文件(如`catalina.out`)在长时间运行后会变得非常庞大,这不仅占用了大量的磁盘空间,还可能影响系统的性能,尤其是当服务器试图读取或写入这些大型文件时。因此,实现...
3. **重定向Tomcat日志输出**:修改Tomcat的`conf/logging.properties`配置文件,将原本写入`catalina.out`的日志重定向到由`cronolog`管理的路径,如`1>/dev/null | /usr/sbin/cronolog /var/log/tomcat/catalina....
通过以上步骤,我们可以有效地解决`catalina.out`日志文件过大的问题,同时保证日志的有序管理和查询。cronolog的使用不仅限于Tomcat,也可以应用于其他需要日志管理的服务或应用。正确配置和使用cronolog对于维护...
默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成了不便,为了实现像其它日志文件一样...
这行命令表示每天0点(即凌晨12点)执行一次cronolog,将新的日志写入`/var/log/tomcat/catalina.out`,并按日期滚动到`/var/log/tomcat/catalina.YYYYMMDD.log`文件。 通过这样的配置,你可以有效地管理Tomcat的...
使用cronolog,你可以设置一个规则,比如每天零点将当天的日志写入新的文件,之前的日志则保留为历史记录。这样既保持了日志的可读性,也便于根据日期查找特定时间段的问题。 以下是使用cronolog来分隔Tomcat日志的...
默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成了不便,为了实现像其它日志文件一样...
tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成了不便,为了实现像其它日志文件一样按日期归档,...
执行后,原始的日志文件会被重命名为`catalina.out-20150828.gz`并压缩,同时创建一个新的空的日志文件`catalina.out`供Tomcat继续写入。 除了手动执行`logrotate`命令,通常logrotate会作为系统cron任务的一部分...
使用`vim`编辑器写入日志文件的路径,例如`/home/odysee/General/tomcat8.5/logs/catalina.out`。 2. 设置参数:在配置文件中,定义日志轮转的具体策略。例如,`daily`表示每天轮转一次,`rotate 30`表示保留30天的...
cronolog 正是执行这一任务的工具,它能够根据时间戳动态重定向标准输出,将不同时间段的日志内容分别写入不同的文件中,从而实现日志的自动分割。 使用 cronolog,你可以在 Tomcat 的配置文件中(通常为 `catalina...
这将确保每次启动Tomcat时,新的日志会被写入到以日期命名的文件中。 切割日志的同时,也需要定期清理旧的日志文件,以保持磁盘空间的合理利用。在Linux中,可以使用`find`命令配合`rm`命令实现这个功能。例如,要...