blueorange
V2EX  ›  Java

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

  •  
  •   blueorange · Oct 27, 2017 · 6570 views
    This topic created in 3294 days ago, the information mentioned may be changed or developed.

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

    21 replies  •  2017-10-30 10:52:10 +08:00
    srx1982
    srx1982
    Oct 27, 2017
    1
    删了。。。
    yidinghe
    yidinghe
    PRO
    Oct 27, 2017❤️1
    2
    1. 临时解决办法 echo "">catalina.out
    2. 长期解决办法:日志输出不要直接输出到 System.out ,而是要用日志框架比如 logback,而且配置框架的时候也不要输出到标准输出,而是用滚动文件。
    blueorange
    blueorange
    OP
    Oct 27, 2017
    3
    @srx1982 有没有那种可以切片的,现在看日志都很不方便 是不是可以把 catalina.out 切分
    blueorange
    blueorange
    OP
    Oct 27, 2017
    4
    意思是在生产环境中不使用 ConsoleAppender 这个?
    这个也是个解决办法哟。
    murmur
    murmur
    Oct 27, 2017
    5
    写个脚本按日拆分就可以
    firemiles
    firemiles
    Oct 27, 2017 via Android
    6
    logrotate
    hubert3
    hubert3
    Oct 27, 2017
    7
    @yidinghe 滚动文件会不会调试就不方便了?
    yidinghe
    yidinghe
    PRO
    Oct 27, 2017
    8
    @hubert3 不会,你可以设成每日滚动,除非你去找 00:00 这时候的日志,否则你都知道在哪找。
    moe3000
    moe3000
    Oct 27, 2017
    9
    用 cronlog 分割,已有的用 split 分割
    blueorange
    blueorange
    OP
    Oct 27, 2017
    10
    @murmur 定时任务脚本吗?
    blueorange
    blueorange
    OP
    Oct 27, 2017
    11
    @firemiles 这个我倒是不知道诶。
    blueorange
    blueorange
    OP
    Oct 27, 2017
    12
    @hubert3 还蛮好调试的呀,你只要 tail -f 你那个滚动文件就可以看日志了。
    caiyongji
    caiyongji
    Oct 27, 2017
    13
    zip 后删除
    wq2016
    wq2016
    Oct 27, 2017
    14
    logrotate
    frank0718
    frank0718
    Oct 27, 2017
    15
    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
    blueorange
    blueorange
    OP
    Oct 27, 2017
    16
    @frank0718 tomcat/lib/目录下面没有 log4j.properties 诶
    blueorange
    blueorange
    OP
    Oct 27, 2017
    17
    @wq2016 谢谢 我已经配置了, 过几天看效果。。
    julyclyde
    julyclyde
    Oct 28, 2017
    18
    Java 新人常见问题……唉
    blueHaw
    blueHaw
    Oct 28, 2017 via Android
    19
    可以使用 log4j 作为默认日志按天或者大小切割
    ppwangs
    ppwangs
    Oct 28, 2017
    20
    7.0 以上好像就支持 rotate 了吧。你们用的什么版本。
    peihanw
    peihanw
    Oct 30, 2017
    21
    如果懒得配置 logging,可以试试这个小工具: https://github.com/peihanw/rotate
    // Howto compile: g++ -O2 -o rotate rotate.cc
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3193 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 11:12 · PVG 19:12 · LAX 03:12 · JFK 06:12
    ♥ Do have faith in what you're doing.