介绍我做的日志轮转工具 - mmlog

📅 2026/6/30 21:08:09
介绍我做的日志轮转工具 - mmlog
介绍我做的日志轮转工具mmlog一款轻量级日志轮转工具保障日志安全写入磁盘溢出是系统运维中最常见的运维问题之一。现代系统运行着大量应用和脚本它们持续生成海量日志数据。在许多情况下日志文件无限制地增长缺乏有效的大小控制最终耗尽所有可用磁盘空间。mmlog是一款简单轻量的日志轮转工具专为 Shell 管道和将日志输出到标准输出stdout或标准错误stderr的应用而设计。它有助于防止因日志无节制增长而导致的磁盘占满问题。与传统的解决方案不同mmlog以简洁、低开销和易于集成到脚本及 CLI 应用为优化目标。尽管 Linux 环境中广泛使用如logrotate等工具但它们主要面向由系统管理的基于文件的轮转并不总是适用于管道中的实时日志流。相比之下mmlog专门针对流式场景设计提供轻量级处理和直观的配置包括对最大文件大小的显式控制。为您的系统构建 mmlog我们在发布页中仅提供 Linux 和 Windows amd64 平台的mmlog二进制文件。您可以从这里下载。如果您使用的是其它系统平台可以使用以下命令为您的平台构建mmlog二进制文件cmake . make使用方法mmlog有两种使用方式。主要模式是作为管道过滤器处理来自其他命令的输出。管道模式推荐命令 | mmlog直接输入模式mmlog 日志消息环境变量mmlog可通过以下环境变量进行配置MM_LOGFILE指定日志文件名包含路径。默认值mmlogMM_LOGFILE_NUM保留的轮转日志文件数量。默认值10MM_LOGSIZE单个日志文件触发轮转前的最大大小。支持 K、M 等后缀或直接使用字节数。示例10000050K2M默认值10MMM_LOG_PREFIX控制日志行前缀格式。0 或空不添加前缀1每条日志条目前添加时间戳默认值0无前缀示例对标准输出/标准错误进行日志轮转并控制大小export MM_LOGFILEmyapp export MM_LOGSIZE100K python testapp.py 21 | ./mmlog后台运行应用并启用日志轮转export MM_LOGFILEmyapp export MM_LOGSIZE1M nohup ./myapp 21 | ./mmlog 将 mmlog 与 Apache Tomcat 配合使用export TOMCAT_HOME/opt/apache-tomcat-9.0.44 export CATALINA_OUT_CMDnohup $TOMCAT_HOME/bin/mmlog export MM_LOGFILE$TOMCAT_HOME/logs/tomcat export MM_LOGSIZE1M $TOMCAT_HOME/bin/startup.sh说明mmlog专为流式日志管道设计不适用于管理磁盘上已有的日志文件。它最适合与持续向 stdout/stderr 写入日志的应用配合使用。对于传统的基于文件的轮转工作流系统工具如 logrotate 可能仍然适用。