【教程】Tomcat 的catalina.out 日志按照自定义日期格式进行切割
本文简单介绍在使用cronolog对tomcat的日志进行自定义日期格式的切割,方便日志的整理和遇到问题日志的排查!
安装cronolog
安装cronolog的方法网上有很多,这里也简单的介绍一下。
1.下载安装包
cronolog-1.6.2.tar.gz
2.安装cronolog
tar -zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configre # --prefix=/opt/cronolog ,可以指定安装目录,默认在 /usr/local/sbin/cronolog
make
make install
3.验证cronolog
which cronolog
如果在安装时没有指定安装目录,则显示/usr/local/sbin/cronolog;表示成功;如果指定安装目录,则在安装目录下查看是否有sbin等目录生成,如果有目录生成,则表示安装成功;
4.cronolog 的语法介绍
cronolog使用方式
CRONOLOG一般是采取管道的方式来工作的,采用如下的形式:
loggenerator | cronolog log_file_pattern
其中,loggenerator为产生log的程序,而log_file_pattern是日志文件的路径,可以在其中加入CRONOLOG所支持的时间 相关的pattern字符,如/www/log/%y/%m/%d/access.log。其patter为%字符后跟一特殊字符;
CRONOLOG支持的特殊字符说明
转义符:
% %字符
n 换行
t 水平制表符
时间域:
H 小时(00..23)
I 小时(01..12)
p 该locale下的AM或PM标识
M 分钟(00..59)
S 秒 (00..61, which allows for leap seconds)
X 该locale下时间表示符(e.g.: _"15:12:47 "_)
Z 时区。若时区不能确定,则无意义
日期域:
a 该locale下的工作日简名(e.g.: Sun..Sat)
A 该locale下的工作日全名(e.g.: Sunday .. Satur-ay)
b 该locale下的月份简称(e.g.: Jan .. Dec)
B 该locale下的月份全称(e.g.: January .. December)
c 该locale下的日期和时间(e.g.: "Sun Dec 15 14:12:47 GMT 1996")
d 当月中的天数 (01 .. 31)
j 当年中的天数 (001 .. 366)
m 月数 (01 .. 12)
U 当年中的星期数,以周日作为一周开始,其中第一周为首个含星期天的星期(00..53)
W 当年中的星期数,以星期一作为一周的开始,其中第一周为首个含星期天的星期(00..53)
w 工作日数(0 .. 6, 0表示星期天)
x 该locale下的日期表示(e.g. "13/04/97")
y 两位数的年份(00 .. 99)
Y 四位数的年份(1970 .. 2038)
配置tomcat的Catalina.sh
(1)注释掉(#)
touch "$CATALINA_OUT"
修改为
#touch "$CATALINA_OUT"
(2)修改tomcat bin目录下的catalina.sh文件中的两处
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
修改为
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /opt/tools/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d.log >> /dev/null &
完成之后重起Tomcat就可以看到logs文件中存在对应格式的日志文件了!(catalina.out.2018-01-21.log)
我安装 cronolog的目录为 :
/opt/tools/cronolog/sbin/cronolog
最后的配置的代码:
#touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /opt/tools/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d.log >> /dev/null &
else
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /opt/tools/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d.log >> /dev/null &
fi
最后配置图片,看的更清楚一点!
参考博文
cronolog分割Tomcat catalina.out日志
**如果您觉得这篇博文对你有帮助,请点个赞,谢谢!**
**如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!**
欢迎访问我的csdn博客,我们一同成长!
"不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!"
博客首页:http://blog.csdn.net/u010648555
【教程】Tomcat 的catalina.out 日志按照自定义日期格式进行切割的更多相关文章
- tomcat的catalina.out日志按自定义时间格式进行分割
默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成 ...
- tomcat的catalina.out日志按自定义时间日式进行分割
使用cronolog对tomcat的日志进行自定义日期格式的切割,方便日志的整理和遇到问题日志的排查! 1.安装cronolog工具1.1 下载 cronolog 地址:网上很多下载地址这里就不在累赘 ...
- Tomcat 的 catalina.out 日志分割
一.背景 Tomcat 的 catalina.out 日志量不断增加,占用空间较大,且默认是不滚动的.因此,需要对其进行日志分割,并进行清理. 本文选用 Cronolog 对其进行分割. 二.安装 1 ...
- POI对Excel自定义日期格式的读取
用POI读取Excel数据:(版本号:POI3.7) 1.读取Excel private List<String[]> rosolveFile(InputStream is, String ...
- poi中如何自定义日期格式
1. poi的“Quick Guide”中提供了 “How to create date cells ”例子来说明如何创建日期单元格,代码如下: HSSFCellStyle cellStyle = w ...
- poi处理excel自定义日期格式
poi读取excel自定义时间类型时,读取到的是CELL_TYPE_NUMERIC,即数值类型,这个时候如果直接取值的话会发现取到的值和表格中的值不一样,这时应该先判断值是否是时间或者日期类型再进行处 ...
- tomcat的catalina.out日志文件过大
今天发现一个服务器的/opt目录数据过大,最后发现是tomcat中的catalina.out日志过大引起的 用du命令查看opt下一层的数据文件大小 [root@ccssapportalp opt]# ...
- tomcat的catalina.out日志切割
目前我们的日志文件catalina.out累积后非常大,部分应用的catalina.out达到几十G并且还在持续增长. 日志文件太大不便于阅读和排查问题.业务增长不断增长,日志也在不断增加,为了以后便 ...
- [经验分享]SecureCRT导出操作日志 + Notepad自定义语言格式高亮日志文件
起因及效果展示 最近使用CRT,有些命令会输出很多内容,这时如果你想要得知输出内容是从哪里开始的,很容易被大量的同种颜色的文字搞的晕头转向.如果输入的命令是不同的颜色,这会大大得帮助我们. 所谓的命令 ...
随机推荐
- 【疑点】js中的break,continue和return到底怎么用?
转: [疑点]js中的break,continue和return到底怎么用? 为什么要说个?好像很简单,但是我也会迷糊,不懂有时候为什么要用return,然而break和continue也经常和他放在 ...
- ThinkPHP5项目目录
ThinkPHP5安装后(或者下载后的压缩文件解压后)可以看到下面的目录结构: tp5├─application 应用目录 ├─extend 扩展类库目录(可定义) ├─pu ...
- win下jdk7环境变量的配置
win下jdk7环境变量的配置: 单击计算机(Computer),选择属性(Properties),选择高级系统设置(Advanced systems settings), 选择环境变量(Enviro ...
- Linux通过ssh登录其他服务器,不用输入密码
有A(192.168.10.163)和B(192.168.10.164)两台服务器,为了使A服务器通过SSH连接B服务器时,免密登录,做以下操作. 1. 登录A(192.168.10.163)服务器( ...
- 何凯文每日一句打卡||DAY4
- [整理]Visual Studio 的Application Insights
简单介绍 Application Insights(预览版) Visual Studio 的Application Insights插件简介 Application Insights for Visu ...
- UI渲染回顾简单笔记
UI渲染的简单过程: CPU,GPU,显示器协同工作,CPU 中计算显示内容,比如视图的创建.布局计算.图片解码.文本绘制等,然后将计算结果提交给GPU,由 GPU 进行变换.合成.渲染.随后 GPU ...
- expect 交互
expect expect 是一种自动交互语言,能实现在shell脚本中为scp和ssh等自动输入密码自动登录. exp_continue # 多个spawn命令时并行 interact # 执行完成 ...
- 阿里云OSS 中文名称地址不对
oss中将该中文名称重命名.再输入一次
- 使用 CasperJS 构建 Web 爬虫
转载:https://www.oschina.net/translate/building-your-own-web-scraper-in-nodejs 从你的应用中收集数据有时候可能有点困难和艰辛. ...