1. 如果您使用的是Log4j,且采用的RollingFileAppender方式, 通过设置maxBackupIndex属性来指定要保留的日志文件数的最大值可以间接实现删除N天前的日志文件。

2. 如果您使用的是Log4j,且采用的DailyRollingFileAppender方式,由于该方式不支持maxBackupIndex,需要重新实现DailyRollingFileAppender,用以支持maxBackupIndex的设置。具体请参考http://macrochen.iteye.com/blog/1346993

3. 如果您使用的是logback,可以通过设置maxHistory实现删除N天前的日志。

4. 可以通过Linux的cron job实现定期删除文件,具体如下

# cd /etc/cron.daily

# vi logcron

输入如下内容

#!/bin/sh

find /logs -type f -ctime + | xargs rm -rf (这里实现了删除30天之前文件的命令)

然后保存该文件,最后执行如下命令给该文件服务可执行权限

# chmod +x /etc/cron.daily/logcron

配置/ect/cron.daily 执行时间:

$ cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron # See anacron() and anacrontab() for details. SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=
# the jobs will be started during the following hours only
START_HOURS_RANGE=- #period in days delay in minutes job-identifier command
cron.daily nice run-parts /etc/cron.daily
cron.weekly nice run-parts /etc/cron.weekly
@monthly cron.monthly nice run-parts /etc/cron.monthly

RollingFileAppender

maxBackupIndex 
          There is one backup file by default.

maxFileSize 
          The default maximum file size is 10MB.

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/RollingFileAppender.html

自定义DailyRollingFileAppender:

Log4j中DailyRollingFileAppender日志文件清理策略,http://blog.csdn.net/pl1612127/article/details/50504592

Log4j的扩展-支持设置最大日志数量的DailyRollingFileAppender, http://www.cnblogs.com/rembau/p/5201001.html

https://www.iteblog.com/archives/1634.html

扩展:

Linux日志文件总管——logrotate : https://linux.cn/article-4126-1.html

删除N天前的log日志文件:RollingFileAppender,DailyRollingFileAppender,/etc/cron的更多相关文章

  1. Python2.7 删除前N天日志文件

    Python2.7 删除前N天日志文件 import os import sys import time day_n = 7 path=os.getcwd().replace("\\&quo ...

  2. C#保存日志文件到txt中,可追加保存,定时删除最后一次操作半年前日志文件

    /// <summary> /// 输出指定信息到文本文件 /// </summary> /// <param name="msg">输出信息& ...

  3. Linux系统的LOG日志文件及入侵后日志的清除

    UNIX网管员主要是靠系统的LOG,来获得入侵的痕迹.当然也有第三方工具记录入侵系统的 痕迹,UNIX系统存放LOG文件,普通位置如下: /usr/adm - 早期版本的UNIX/var/adm -  ...

  4. 使用触发器实现记录oracle用户登录失败信息到alert.log日志文件

    前面我们说了用oracle自带的审计功能可以实现记录用户登录失败日志到数据表中(链接:http://www.54ok.cn/6778.html).今天我们来分享一下如何把用户登录失败信息记录到aler ...

  5. log4j.properties配置与将异常输出到Log日志文件实例

    将异常输出到 log日志文件 实际项目中的使用: <dependencies> <dependency> <groupId>org.slf4j</groupI ...

  6. Linux系统下/tmp目录文件重启后自动删除,不重启自动删除10天前的/TMP的文件(转)

    /tmp目录文件重启后自动删除现在知道有ubuntu和solaris系统source:http://blog.chinaunix.net/uid-26212859-id-3567875.html经常会 ...

  7. MS Sql Server 数据库或表修复(Log日志文件损坏的修复方法)

    ----------------- [1] use master go sp_configure reconfigure with override go ----------------- [2] ...

  8. Android中对Log日志文件的分析[转]

    一,Bug出现了, 需要“干掉”它 bug一听挺吓人的,但是只要你懂了,android里的bug是很好解决的,因为android里提供了LOG机制,具体的底层代码,以后在来分析,只要你会看bug, a ...

  9. 解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

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

随机推荐

  1. webpack练手项目之easySlide(一):初探webpack

    最近在学习webpack,正好拿了之前做的一个小组件,图片轮播来做了下练手,让我们一起来初步感受下webpack的神奇魅力.     webpack是一个前端的打包管理工具,大家可以前往:http:/ ...

  2. 前端动态效果小结(jQuery)

    1.easyUI(jQuery) http://www.jeasyui.net/demo/954.html

  3. list集合排序案例

    // List集合排序: Collections.sort(list, new Comparator<Object>(){ public int compare(Object obja, ...

  4. 使用ZeroClipboard 复制指定内容到剪切板

    有些时候,我们希望让用户在网页上完成某个操作就能自动将指定的内容复制到用户计算机的剪贴板中.但是出于安全原因,大多数现代浏览器都未提供通用的剪贴板复制接口(或即便有,也默认被禁用).只有IE浏览器可以 ...

  5. Codeforces G. Ciel the Commander

    题目描述: Ciel the Commander time limit per test 1 second memory limit per test 256 megabytes input stan ...

  6. Python应用之-修改通讯录

    #-*- coding:utf-8 -*- import sqlite3 #打开本地数据库用于存储用户信息 conn = sqlite3.connect('mysql_person.db') #在该数 ...

  7. Linux下串口操作

    一.Linux下访问串口 串口位置:/dev/tty** 在Linux系统中,串口设备是通过串口终端设备文件来访问的,也就是通过访问/dev/ttyS0./dev/ttyS1./dev/ttyS2./ ...

  8. js添加触摸时间,禁止页面缩放

    <meta name="viewport" content="target-densitydpi=320,width=640,user-scalable=no&qu ...

  9. Git的个人总结

    Git Git简史: 同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代. Linux 内核开源项目有着为数众多的参与者. 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存 ...

  10. qtcreator cannot find catkin packages

    adding /opt/ros/kinetic to CMAKE_PREFIX_PATH in Project -> build environment only /opt/ros/kineti ...