本座以前发表过一篇文章:《用 Java 实现的日志切割清理工具》,在网络上被大量转载(虽然大多数都没有注明原文出处 ^_^)。有不少看官留言给本座希望能提供工具的源代码。因此,本座也不敢敝帚自珍,现把源代码分享出来供大家学习交流。闲话少说,请轻踩这里,你懂的 ^_*
原文链接:《用 Java 实现的日志切割清理工具》
对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能。如果用手工方式进行清理,会花费太多时间,并且很多时候难以满足实际要求。例如:如何在每个星期六凌晨3点把超过2G大的日志文件进行切割,保留最新的100M日志记录?
网上没有发现能满足本座要求的日志切割工具,因此花了一些闲暇时间自己写了一个。由于要在多个平台上使用,为了方便采用 Java 实现。本工具命名为 LogCutter,主要有以下特点:
- 支持 Linux、Mac 和 Windows 等所有常见操作系统平台
- 支持命令行交互式运行
- 支持后台非交互式运行(Linux/MAC 下使用 daemon 进程实现,Windows 用系统 Service 实现)
- 支持两种日志清理方式(删除日志文件或切割日志文件)
- 支持对 GB18030、UTF-8、UTF-16LE、UTF-16BE 等常用日志文件类型进行切割(不会发生切掉半个字符的情况)
- 高度可配置(程序执行周期、要删除的日志文件过期时间、要切割的日志文件阀值和保留大小等均可配置
*******************************************************
**** 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
--------------------------------------------------
分享到:
相关推荐
Java开发springboot-整合mysql-binlog-connector-java实现MySQL数据同步-源代码+文档 Java开发springboot-整合mysql-binlog-connector-java实现MySQL数据同步-源代码+文档 Java开发springboot-整合mysql-binlog-...
Java开发案例-springboot-35-整合TLog实现分布式日志标记追踪-源代码+文档.rar Java开发案例-springboot-35-整合TLog实现分布式日志标记追踪-源代码+文档.rar Java开发案例-springboot-35-整合TLog实现分布式日志...
Java开发案例-springboot-39-整合Plumelog实现日志查询-源代码+文档.rar Java开发案例-springboot-39-整合Plumelog实现日志查询-源代码+文档.rar Java开发案例-springboot-39-整合Plumelog实现日志查询-源代码+文档....
基于JAVA实现班主任管理系统(源代码+文档lunwen) 基于JAVA实现班主任管理系统(源代码+文档lunwen) 基于JAVA实现班主任管理系统(源代码+文档lunwen) 基于JAVA实现班主任管理系统(源代码+文档lunwen) 基于JAVA实现班...
Java文件切割器是一个专门用于处理Java源代码文件的工具,它通过源代码分析技术将一个大的Java源文件分割成若干个更小的部分。这样的工具对于维护大型项目代码,或者进行代码重构都有很大帮助。通常,它会识别出类、...
java课程设计:基于java实现的单机五子棋游戏的源代码 java课程设计:基于java实现的单机五子棋游戏的源代码 java课程设计:基于java实现的单机五子棋游戏的源代码 java课程设计:基于java实现的单机五子棋游戏的源...
Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web...
飞机大战java的实现源代码资料.zip飞机大战java的实现源代码资料.zip飞机大战java的实现源代码资料.zip飞机大战java的实现源代码资料.zip飞机大战java的实现源代码资料.zip飞机大战java的实现源代码资料.zip飞机大战...
Java网上商城完整源代码
Java开发案例-springboot-50-docker-compose安装Graylog实现日志监控-源代码+文档.rar Java开发案例-springboot-50-docker-compose安装Graylog实现日志监控-源代码+文档.rar Java开发案例-springboot-50-docker-...
java 象棋 源代码java 象棋 源代码java 象棋 源代码java 象棋 源代码java 象棋 源代码java 象棋 源代码java 象棋 源代码java 象棋 源代码java 象棋 源代码java 象棋 源代码java 象棋 源代码
Java坦克大战网络对战版源代码.rar Java声音播放程序源代码.rar JAVA实现CLDC与MIDP底层编程的代码.rar Java实现HTTP连接与浏览,Java源码下载.rar Java实现的FTP连接与数据浏览程序.rar Java实现的放大镜效果附有...
各种javaUntils集成工具类源代码,直接使用的解压缩cv Various javaUntils integration tool class source code, decompressed cv directly used: Base64ImageUtils.java ConfigUtils.java DateUtils.java ...
Java聊天工具源代码是开发一款在线聊天应用的基础,它提供了实现即时通讯功能的详细逻辑和结构。这个资源对于初学者和专业人士来说都是宝贵的,因为你可以深入理解如何在Java环境中构建实时通信系统,这对于进行个人...
Java源代码下载通常指的是获取Java开发工具包(JDK)中的源码,这对于开发者来说是一项重要的活动,因为源代码能够帮助他们深入理解Java语言的工作原理,进行调试和学习。Java作为一个开源项目,Oracle公司提供了源...
java代码-使用java解决切割字符串的源代码 ——学习参考资料:仅用于个人学习使用!
java毕业设计——基于Vue+Node的外卖系统设计与实现(答辩PPT+源代码).zipjava毕业设计——基于Vue+Node的外卖系统设计与实现(答辩PPT+源代码).zipjava毕业设计——基于Vue+Node的外卖系统设计与实现(答辩PPT+源代码)...
Java实现的21点游戏源代码,供大家学习,分享。
java毕业设计——打飞机游戏设计与实现(论文+源代码).zip java毕业设计——打飞机游戏设计与实现(论文+源代码).zip java毕业设计——打飞机游戏设计与实现(论文+源代码).zip java毕业设计——打飞机游戏设计与实现...