zoukankan      html  css  js  c++  java
  • 用 Java 实现的日志切割清理工具(源代码下载)

        本座以前发表过一篇文章:《用 Java 实现的日志切割清理工具》,在网络上被大量转载(虽然大多数都没有注明原文出处 ^_^)。有不少看官留言给本座希望能提供工具的源代码。因此,本座也不敢敝帚自珍,现把源代码分享出来供大家学习交流。闲话少说,请轻踩这里,你懂的 ^_*


    原文链接:《用 Java 实现的日志切割清理工具

      对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能。如果用手工方式进行清理,会花费太多时间,并且很多时候难以满足实际要求。例如:如何在每个星期六凌晨3点把超过2G大的日志文件进行切割,保留最新的100M日志记录?

      网上没有发现能满足本座要求的日志切割工具,因此花了一些闲暇时间自己写了一个。由于要在多个平台上使用,为了方便采用 Java 实现。本工具命名为 LogCutter,主要有以下特点:

    1. 支持 Linux、Mac 和 Windows 等所有常见操作系统平台
    2. 支持命令行交互式运行
    3. 支持后台非交互式运行(Linux/MAC 下使用 daemon 进程实现,Windows 用系统 Service 实现)
    4. 支持两种日志清理方式(删除日志文件或切割日志文件)
    5. 支持对 GB18030、UTF-8、UTF-16LE、UTF-16BE 等常用日志文件类型进行切割(不会发生切掉半个字符的情况)
    6. 高度可配置(程序执行周期、要删除的日志文件过期时间、要切割的日志文件阀值和保留大小等均可配置
    • 使用方法:
    *******************************************************
    **** LogCutter - Bruce Liang, all rights reserved. ****
    *******************************************************

    一、启动方式
    --------------------------------------------------
    1) Windows
    A) 前台运行: > ./run.bat
    B) 后台运行: > ./LogCutter.exe {
    -install-demand (安装手动启动服务)
    -install-auto (安装自动启动服务)
    -start (启动服务)
    -stop (停止服务)
    -status (查看服务状态)
    }

    *** 注 ***
    @ LogCutter.exe 以 Windows 系统服务的方式运行,安装好后也可以通过 Windows 服务管理器进行管理
    @ LogCutter.exe 依赖 JRE 1.6, 因此必须在注册表或环境变量中设置 %JAVA_HOME%

    2) Linux / Unix
    A) 前台运行: $ ./run.sh
    B) 后台运行: $ ./run.sh -d

    *** 注 ***
    @ 可以设置为开机时自动后台运行,方法如下:

    $ vi /etc/rc.d/rc.local
    ( 加入: ${YOUR_LOGCUTTER_PATH}/run.sh -d )
    --------------------------------------------------

    二、配置文件
    --------------------------------------------------
    1) 程序配置文件: ./conf/config.xml
    2) 日志配置文件: ./conf/log4j.properties (默认)
    --------------------------------------------------

    三、环境要求
    --------------------------------------------------
    1) Java 版 本: JRE 1.6 以上
    2) 依赖程序包: dom4j、log4j、juniversalchardet
    --------------------------------------------------

    CodeProject

  • 相关阅读:
    我的知识库(4) java获取页面编码(Z)
    知识库(3)JAVA 正则表达式 (超详细)
    The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts
    某人总结的《英语听力的技巧 》,挺搞的
    我的知识库(5)java单例模式详解
    构建可扩展程序
    SerialPort (RS232 Serial COM Port) in C# .NET
    Python学习笔记——String、Sequences
    UI题目我的答案
    jQuery学习系列学会操纵Form表单元素(1)
  • 原文地址:https://www.cnblogs.com/ldcsaa/p/2560481.html
Copyright © 2011-2022 走看看