shisgmei 发表于 2018-12-3 10:20:16

cronolog分割tomcat日志

  1.cronolog,用来分割日志,让日志文件看起来更清爽
  安装过程如下:
  1、下载(最新版本)
  # wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
  2、解压缩
  # tar zxvf cronolog-1.6.2.tar.gz
  3、进入cronolog安装文件所在目录
  # cd cronolog-1.6.2
  4、运行安装
  # ./configure
  # make
  # make install
  5、查看cronolog安装后所在目录(验证安装是否成功)
  # which cronolog
  一般情况下显示为:/usr/local/sbin/cronolog
  网络上找了一下,针对在 Linux 环境下执行 Tomcat 的部份,发现有个不错的工具软件 cronolog 可以协助 Web Server 之类的做 log檔的 rotate ,详细的运作原理可能大家得自己去这个网站上查,我的认知大致如下:
  Tomcat 先把输出写到 console( 标准输出 )然后透过 pipe (|)转为 cronolog的输入,由 cronolog 针对一个事先给定的文件名的命名规则,去过滤数据,定期关闭旧文件,然后再开启新档。如果我们将文件名的命名规则设为 catalina.out.%Y-%m-%d ,就可以做到每天开一个新的 catalina.out.yyyy-mm-dd 的档案了。
  修改 catalina.sh
  以 Tomcat 6.0.24 的版本为例
  第一步
  将
  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
  第二步
  将
  touch "$CATALINA_OUT"
  改为
  #touch "$CATALINA_OUT"
  第三步
  将
  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 &
  重新启动 Tomcat
  service tomcat restart
  可以在 Tomcat 的 logs 目录底下找到以系统日期为结尾的 catalina.out.yyyy-mm-dd 的档案,这样子就成功了。
  后续就是持续观察看看是不是每天都有产生一个新的 catalina.out.yyyy-mm-dd 档案。然后再安排定期删除这些较旧的log 檔即可。

页: [1]
查看完整版本: cronolog分割tomcat日志