为什么我们项目的日志只有最近七天的,是怎么设置的?

15 篇文章 0 订阅
3 篇文章 0 订阅

一直都是查看日志,看日志里的异常,看最近几天的日志。

今天听课,老师提到“日志一般保存几天”这个点,然后发现我们的日志都是保留最近七天的,这是怎么设置的呢?

首先说我们用的日志是log4j 1.2

然后是我们日志的一个输出形式,具体自行百度:

	<appender name="pay" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="/home/www/logs/prod/pay/pay.log" />
		<param name="DatePattern" value="'.'yyyy-MM-dd" />
		<param name="Append" value="true" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d %5p [%t] (%F:%L) - %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="INFO" />
			<param name="LevelMax" value="ERROR" />
		</filter>
	</appender>
	<logger name="pay">
		<level value="info" />
		<appender-ref ref="pay" />
	</logger>

我百度了一下,DailyRollingFileAppender,DatePattern '.'yyyy-MM-dd 的设置,也无法设置保留几天的日志啊。

终归结果就是log4j1.2并不带这种保留几天或者删除几天前的日志的功能。

然后网上给出的方案是,linux定时清理几天以前的,没想到我们项目真的是这么实现的。

第一步,有一个清理的脚本

logclean.sh

find /home/www/logs/test/ -maxdepth 1 -type f -mtime +7 -name '*' -exec rm -rf {} \;
find /home/www/logs/test/pay/ -maxdepth 1 -type f -mtime +30 -name '*' -exec rm -rf {} \;
find /home/www/logs/test/userlog/ -maxdepth 1 -type f -mtime +7 -name '*' -exec rm -rf {} \;

有这个脚本,肯定是定时执行的吧,不能每天人工去执行吧。然后百度一下,是linux的定时任务corn。

赶紧记下来哦,不过面试的时候好像从来没问过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值