本文摘自:(http://blog.csdn.net/stevencn76/article/details/6246162)
分类: Java技术专区2011-03-13 12:25 5017人阅读 评论(1) 收藏 举报

由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已经其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文件中输入内容,这也会降低tomcat的性能。下面利用一个工具来将tomcat产生的catalina.out文件根据日期来分割,将每天产生的日志存放在一个独立的文件中,这样单个log文件就不会太大,而且过期的日志文件可以根据情况在不需要的时间删除掉,或者备份到其他地方。

这里需要一个工具叫cronolog,这个工具的作用是将标准输出中的内容重定向到文件,但是可以根据规则对文件命名,这样我们就可以将标准输出中的内容重定向到根据日期命名的log文件中了,然后只要将tomcat的日志输出指向标准输出就可以搞定问题了。下面是具体配置步骤

一、获取与安装cronolog工具

1. 到这里(http://cronolog.org/download/index.html)下载最新版本,本文编写时的最新版本是1.6.2版本。

2. 将下载好的文件解压缩,tar xvzf cronolog.tar.gz

3. 切换到解压缩之后的cronolog目录中

4. 初始化和编译安装

./configure --prefix=/usr/local/cronolog             (这里--prefix后面的路径是你希望该工具的安装目标路径)

./make

./make install

二、修改tomcat的启动文件(tomcat/bin/catalina.sh)

1. 找到文件中的如下内容(注意:有两处)

org.apache.catalina.startup.Bootstrap "$@" start /
>> "$CATALINA_BASE"/logs/catalina.out 2&1 &

将其修改成如下格式:

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 /
| /usr/local/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

2. 注释如下内容

#touch "CATALINA_BASE"/logs/catalina.out

然后重新启动tomcat就可以完成任务了

解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题的更多相关文章

  1. 2个问题,解决tomcat启动一闪而过和运行tomcat/bin目录下的startup.bat时报错(the CATALINA_HOME environment variable is not defined correctly)

    1.除手动使用开始菜单自启动或者程序启动TOMCAT时TOMCAT一闪而过,这时候是发生了错误,这时候我们打开BIN目录下的“startup.bat”文件,编辑,在结尾添加pause命名,这样在CMD ...

  2. linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  3. eclipse新建web项目,运行后在tomcat安装目录下webapps中没有该项目

    一.发现问题在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没 ...

  4. Linux编译Windows共享目录下代码

    Linux编译Windows共享目录下代码(金庆的专栏)万神服务器代码是跨平台的.平时策划在Windows上开自己的服务器测试,测试和发布服务器为Linux.开发时,先在Windows上编译测试,再到 ...

  5. linux下递归列出目录下的所有文件名(不包括目录)

    1.linux下递归列出目录下的所有文件名(不包括目录) ls -lR |grep -v ^d|awk '{print $9}'2.linux下递归列出目录下的所有文件名(不包括目录),并且去掉空行 ...

  6. Linux查找和替换目录下所有文件中字符串(转载)

    转自:http://rubyer.me/blog/1613/ 单个文件中查找替换很简单,就不说了.文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结. 查找文件夹 ...

  7. Eclipse 将projectBuild Path中引用的jar包自己主动复制到WEB-INF下的lib目录下

    在用用 Eclipse进行Java Web开发时,web应用中引用的jar须要复制到WEB-INF下的lib目录下,否则常常出现ClassNotFound异常. 通过以下方法,能够不用手动拷贝jar包 ...

  8. beyond compare解决特殊字符无法输出、多sheet页无法对比以及文件太大超出系统内存问题的Excel转txt脚本

    beyond compare解决特殊字符无法输出.多sheet页无法对比以及文件太大超出系统内存问题的Excel转txt脚本 ' XLS_to_CSV.vbs ' ' Converts an Exce ...

  9. 【Tomcat】tomcat logs 目录下各日志文件的含义

      tomcat每次启动时,自动在logs目录下生产以下日志文件,按照日期自动备份.可以帮助我们更好的找出错误.   一. 认识各种目录的作用及记录的信息 目录

随机推荐

  1. java 8 新特性

    最近在IDEA的️驱使下,看了点java8的东西,链接贴一下,,,,, 1.Java 8新特性概述2.Java 8中的 Stream API 详解[3.Java 8新特性终极指南] 简单的使用看完新特 ...

  2. svg学习(七)polygon

    <polygon> 标签用来创建含有不少于三个边的图形. <?xml version="1.0" standalone="no"?> & ...

  3. winform 窗体移动API、窗体阴影API

    //窗体移动API [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport ...

  4. navicat----------局域网数据库:如何让navicat链接局域网其他的数据库。

    1.方法很简单了,找到被链接的数据库,打开以后有一个自带的mysql数据库,打开以后下面有一个user表,把里面的第一条数据的第一个字段改成% 百分号,然后保存,重启服务器,搞定 2.如果是linux ...

  5. linux下svn服务器安装配置与启动

    1. 采用源文件编译安装.源文件共两个,为: subversion-1.6.1.tar.gz  (subversion 源文件) subversion-deps-1.6.1.tar.gz  (subv ...

  6. checkbox的单选全选,反选,计算价格,删除

    activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  7. getopt解析命令行参数一例:汇集多个服务器的日志

    高效工作的一个诀窍就是尽可能自动化, 简便化. 比如, 公司里, 要搜索多个集群下的应用日志来排查问题, 需要使用 pssh: pssh -i -h api_hangzhou.iplist " ...

  8. 将数组里的元素拼接成sql里的in条件

    /** * 将数组里的元素拼接成sql里的in条件,如'a1','a2','a3' * @param array * @returns */function makeSqlInStr(array){ ...

  9. ie11媒体查询以及其他hack

    <!doctype html> <html> <head> <title>IE10/11 Media Query Test</title> ...

  10. 20160411002 经典SQL语句大全

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...