解决Tomcat catalina.out 不断成长导致档案过大的问题

博客:Tomcat日志设定 http://blog.csdn.net/lk_cool/article/details/4561306

本文章解决办法:
1、修改tomcat的日志配置,配置输出日志级别
2、修改工程的日志配置:输出在控制台的级别

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

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

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

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

这里写图片描述

方法二:进行切割文件
日志切割:https://www.iyunv.com/forum.php?mod=viewthread&tid=404484&highlight=tomcat%2B

tomcat 日志禁用 :https://www.iyunv.com/forum.php?mod=viewthread&tid=348904&highlight=tomcat%2B日志

二、解决catalina.out日志超大问题
接下来考虑catalina.out怎么会这么大呢?查看里面记录了应用的所有日志信息。

Log4j

查看应用的log4j配置文件,发现输出到控制台的配置,target是System.out

而catalina.out会记录 System.out 与 System.err的信息

删除log4j中的输出控制台的日志配置,catalina.out中不再记录应用的日志。
日志输出级别:ALL、DEBUG、INFO、WARN、ERROR
这下它不会涨的那么快了。设置工程项目输出至控制台catalina.out日志的级别:

这里写图片描述

Log4j具体输出信息级别配置方法:http://blog.csdn.net/hamov/article/details/51673875

logback

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property resource="application.properties" />
    <property scope="context" name="LOCAL_LOG_FOLDER" value="/media/HDD1/webServers/logs/id5_id6_id7/" />
    <property scope="context" name="SUB_SYSTEM" value="cn-connetedonboard" />

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOCAL_LOG_FOLDER}/${SUB_SYSTEM}.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${LOCAL_LOG_FOLDER}/cn-connetedonboard.%d{yyyy-MM-dd}-%i.zip</FileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>500MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--<maxHistory>7</maxHistory>-->
        </rollingPolicy>
        <encoder>
            <!--<pattern>%d{HH:mm:ss} {%t} %-5level [cn-connetedonboard] %logger - %msg%n</pattern>-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss} {%t} %highlight(%-5level) [%X{vin}]  %logger{0}.%method:%L : %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

	<!--控制控制台输出	-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARNING</level>
        </filter>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} {%t} %highlight(%-5level) [%X{vin}]  %logger{0}.%method:%L :  %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <root level="${logback.log.level}">
        <appender-ref ref="FILE" />
        <!--<appender-ref ref="CONSOLE" />-->
    </root>

</configuration>




发布了149 篇原创文章 · 获赞 52 · 访问量 26万+
展开阅读全文

tomcat7 log4j配置一部分日志还在catalina.out输出

04-29

我按照网上配置在tomcat配置了log4j,一部分日志是按我配置那样输出的,但是有一部分日志还是写入catalina.out,不知道为什么,我看了主要是线程调用的类输出的日志。 有谁知道原因吗? 步骤如下: 1. 把log4j-1.2.17.jar,tomcat-juli.jar,tomcat-juli-adapters.jar拷贝到tomcate目录/ lib下 2. 把tomcat-juli.jar拷贝到tomcate目录/ bin下,并覆盖原来的tomcat-juli.jar 3. 在tomcate目录/ lib下(例如/tomcat/apache-tomcat-7.0.59/lib)新建一个文件log4j.properties,并添加如下内容 log4j.rootLogger=INFO, CATALINA # Define all the appenders log4j.appender.CATALINA=org.apache.log4j.RollingFileAppender log4j.appender.CATALINA.File=${catalina.base}/logs/catalina. log4j.appender.CATALINA.MaxFileSize=50MB log4j.appender.CATALINA.MaxBackupIndex=100 log4j.appender.CATALINA.Append=true log4j.appender.CATALINA.Encoding=GBK # Roll-over the log once per day log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd-HH-mm'.log' log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost. log4j.appender.LOCALHOST.Append=true log4j.appender.LOCALHOST.Encoding=GBK log4j.appender.LOCALHOST.DatePattern='.'yyyy-MM-dd-HH'.log' log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender log4j.appender.MANAGER.File=${catalina.base}/logs/manager. log4j.appender.MANAGER.Append=true log4j.appender.MANAGER.Encoding=GBK log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager. log4j.appender.HOST-MANAGER.Append=true log4j.appender.HOST-MANAGER.Encoding=GBK log4j.appender.HOST-MANAGER.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Encoding=GBK log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n # Configure which loggers log to which appenders log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\ INFO, MANAGER log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\ INFO, HOST-MANAGER 4. 在tomcate目录/ conf下(例如/tomcat/apache-tomcat-7.0.59/conf)打开context.xml,把<Context>修改为<Context swallowOutput="true"> 5. 删除 Tomcat 的/tomcat/apache-tomcat-7.0.59/conf/logging.properties 文件(或者重命名-建议) 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览