首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

请问 tomcat 中的 catalina.out 文件过大怎么处理

  •  
  •   blueorange · 2017-10-27 14:22:21 +08:00 · 3253 次点击
    这是一个创建于 747 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在生产环境中, tomcat 目录下面 catalina.out 文件过一阵子达到几 G 的量,请问怎么处理

    21 回复  |  直到 2017-10-30 10:52:10 +08:00
        1
    srx1982   2017-10-27 14:28:55 +08:00
    删了。。。
        2
    yidinghe   2017-10-27 14:29:51 +08:00   ♥ 1
    1. 临时解决办法 echo "">catalina.out
    2. 长期解决办法:日志输出不要直接输出到 System.out ,而是要用日志框架比如 logback,而且配置框架的时候也不要输出到标准输出,而是用滚动文件。
        3
    blueorange   2017-10-27 14:30:16 +08:00
    @srx1982 有没有那种可以切片的,现在看日志都很不方便 是不是可以把 catalina.out 切分
        4
    blueorange   2017-10-27 14:31:25 +08:00
    意思是在生产环境中不使用 ConsoleAppender 这个?
    这个也是个解决办法哟。
        5
    murmur   2017-10-27 14:38:24 +08:00
    写个脚本按日拆分就可以
        6
    firemiles   2017-10-27 14:42:57 +08:00 via Android
    logrotate
        7
    hubert3   2017-10-27 14:56:56 +08:00
    @yidinghe 滚动文件会不会调试就不方便了?
        8
    yidinghe   2017-10-27 15:10:53 +08:00
    @hubert3 不会,你可以设成每日滚动,除非你去找 00:00 这时候的日志,否则你都知道在哪找。
        9
    moe3000   2017-10-27 15:36:34 +08:00
    用 cronlog 分割,已有的用 split 分割
        10
    blueorange   2017-10-27 16:05:04 +08:00
    @murmur 定时任务脚本吗?
        11
    blueorange   2017-10-27 16:05:26 +08:00
    @firemiles 这个我倒是不知道诶。
        12
    blueorange   2017-10-27 16:06:45 +08:00
    @hubert3 还蛮好调试的呀,你只要 tail -f 你那个滚动文件就可以看日志了。
        13
    caiyongji   2017-10-27 17:13:27 +08:00
    zip 后删除
        14
    wq2016   2017-10-27 17:15:37 +08:00
    logrotate
        15
    frank0718   2017-10-27 17:46:14 +08:00
    tomcat/lib/log4j.properties 里面配置来自动 rotate

    # 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'.log'
    log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
    log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
        16
    blueorange   2017-10-27 20:52:45 +08:00
    @frank0718 tomcat/lib/目录下面没有 log4j.properties 诶
        17
    blueorange   2017-10-27 20:56:17 +08:00
    @wq2016 谢谢 我已经配置了, 过几天看效果。。
        18
    julyclyde   2017-10-28 09:03:08 +08:00
    Java 新人常见问题……唉
        19
    blueHaw   2017-10-28 13:32:38 +08:00 via Android
    可以使用 log4j 作为默认日志按天或者大小切割
        20
    ppwangs   2017-10-28 17:51:59 +08:00
    7.0 以上好像就支持 rotate 了吧。你们用的什么版本。
        21
    peihanw   2017-10-30 10:52:10 +08:00
    如果懒得配置 logging,可以试试这个小工具: https://github.com/peihanw/rotate
    // Howto compile: g++ -O2 -o rotate rotate.cc
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1141 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 18:20 · PVG 02:20 · LAX 10:20 · JFK 13:20
    ♥ Do have faith in what you're doing.