tomcat日志自动分段

电脑杂谈  发布时间:2020-04-02 15:11:42  来源:网络整理

linux tomcat 日志级别_tomcat logs下的日志分类_tomcat日志级别

当我今天在tomcat上检查项目日志时,我发现catalina.out文件已达到202M,因此我决定拆分日志. 首先,我查看了crontab任务,发现有一个自动任务可以删除前10天的日志. 但没有发现自动切割任务.

让狗搜索一会儿,据说tomcat具有默认的日志拆分功能,该功能可以每天自动生成类似于catalina.2010-10-08.log的文件,但默认为catalina.out文件一直在增长. 据说当达到一定大小时,它将占用磁盘空间(无用),影响性能,并会报告错误. 暂时尚未找到. 其他人已经检查了日志文件.

解决方案是使用cronolog进行原木切割. 据说cronolog是一种用于切割原木的小工具. 它可以剪切很多日志文件,并在有时间时尝试. 具体方法如下:

1. 下载(最新版本)

#wget

2. 解压缩

#tar zxvf cronolog-1.6.2.tar.gz

3,输入cronolog安装文件所在的目录

#cd cronolog-1.6.2

4. 运行安装

#./configure

tomcat日志级别_tomcat logs下的日志分类_linux tomcat 日志级别

#make

#进行安装

5,检查cronolog的安装目录(验证安装是否成功)

#哪个cronolog

通常显示为: / usr / local / sbin / cronolog

6. 进入Tomcat bin目录,打开catalina.sh文件,并找到有关tomcat启动的行,或者您可以直接搜索catalina.out,通常我们在以下行中修改内容(因为我们通常不在-security中运行),

其他

“ $ _ RUNJAVA” $ JAVA_OPTS $ CATALINA_OPTS \

-Djava.endorsed.dirs =``$ JAVA_ENDORSED_DIRS” -classpath“ $ CLASSPATH” \

-Dcatalina.base =” $ CATALINA_BASE” \

-Dcatalina.home =” $ CATALINA_HOME” \

linux tomcat 日志级别_tomcat logs下的日志分类_tomcat日志级别

-Djava.io.tmpdir =“ $ CATALINA_TMPDIR” \

org.apache.catalina.startup.Bootstrap“ $ @”开始\

>>“ $ CATALINA_BASE” /logs/catalina.out 2>&1&

如果[! -z“ $ CATALINA_PID”];然后

回显$!> $ CATALINA_PID

fi

fi

修改

org.apache.catalina.startup.Bootstrap“ $ @”开始\

>>“ $ CATALINA_BASE” /logs/catalina.out 2>&1&

是

linux tomcat 日志级别_tomcat logs下的日志分类_tomcat日志级别

org.apache.catalina.startup.Bootstrap“ $ @”开始2>&1 \

| / usr / local / sbin / cronolog“ $ CATALINA_BASE” /logs/catalina.%Y-%m-%d.out >> / dev / null&

同时,上方有一条线

触摸“ $ CATALINA_BASE” /logs/catalina.out

您可以将其注释掉tomcat logs下的日志分类,完成后可以重新启动Tomcat. 您可以在每天生成的logs目录中查看catalina.2009-02-18.out的日志.

以上所有内容均指互联网上的帖子,有一个我不了解的地方,明天需要验证一个地方.

不清楚:

“ org.apache.catalina.startup.Bootstrap” $ @“开始2>&1 \

| / usr / local / sbin / cronolog“ $ CATALINA_BASE” /logs/catalina.%Y-%m-%d.out >> / dev / null和“为什么添加” >> / dev / null“而不是直接”> > / usr / local / sbin / cronolog“ $ CATALINA_BASE” /logs/catalina.%Y-%m-%d.out“将输出重定向到catalina. %Y-%m-%d.out文件. 我必须抽空寻找时间,也想认识那些留言给我的朋友.

需要验证:

注释一下tomcat logs下的日志分类,在触摸“ $ CATALINA_BASE” /logs/catalina.out之后,不会生成catalina.out,因此当前输出到文件catalina. %Y-%m-%d.out吗?我执行剪切并直接转到新的日志文件吗?我看不到切割的计时任务,所以这个计时任务是由tomcat自己维护的吗? Cronolog仅提供切割方法?需要Cronolog,只需在触摸线处注释即可……找到尝试的机会)

tomcat logs下的日志分类_linux tomcat 日志级别_tomcat日志级别

顺便说一句,我还看到了另一个由纯shell实现的解决方案.

编写一个.sh文件,并将其放在tomcat下的bin目录中. 它将在cron中自动执行. Shell脚本如下:

#! / bin / bash

cd`dirname $ 0'

d =`日期+%Y%m%d`

d7 =`date -d'7天前'+%Y%m%d`

cd ../日志/

cp catalina.out catalina.out. $ {d}

echo“”> catalina.out

rm -rf catalina.out. $ {d7}

还有一个问题cd`dirname $ 0`不明白是什么意思

原来是

$ 0获取当前shell程序的文件名

dirname $ 0,获取当前shell程序的路径

cd`dirname $ 0',输入当前shell程序的目录


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-161372-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 石杰锋
        石杰锋

        其实是因为中国在南海建了岛礁

      热点图片
      拼命载入中...