pm2日志管理pm2-logrotate介绍
先来看两个问题
问:pm2-logrotate是什么?
答:pm2-logrotate可以理解为是一个pm2的插件,它扩充了pm2本身没有功能:日志管理,所以它的运行需要依靠pm2,想用它必须先安装pm2才可以。
问:为什么有pm2-logrotate?
答:因为pm2本身没有日志分割功能,日志只能存在一个文件中,时间久了日志文件非常大,查看起来很麻烦,并且一些日志过一段时间后可能就没用了,依然留着对空间也是浪费,有了该插件,可以将日志文件根据我们的设定进行分割,比如按天进行分割,把每天的日志文件分别存储,这样查看起来是不是比较方便?并且还可以设置日志文件的最大总数,比如我们设置日志文件最多100个,那么当日志文件超过100个后会自动将最早的日志文件删除掉,我们也不用再花时间去整理日志文件了,是不是很省心?
安装
NPM官网地址:https://www.npmjs.com/package/pm2-logrotate
安装:pm2 install pm2-logrotate(前提是已安装过pm2)
安装特定版本:pm2 install pm2-logrotate@2.2.0
参数介绍

安装完毕使用方法如上图:pm2 set pm2-logrotate:max_size 1K
格式是:pm2 set pm2-logrotate:{paramName} {value}
命令设置具体的参数,支持的参数有:
l Compress:是否通过gzip压缩日志
l max_size:单个日志文件的大小,比如上图中设置为1K(这个其实太小了,实际文件大小并不会严格分为1K)
l retain:保留的日志文件个数,比如设置为10,那么在日志文件达到10个后会将最早的日志文件删除掉
l dateFormat:日志文件名中的日期格式,默认是YYYY-MM-DD_HH-mm-ss,注意是设置的日志名+这个格式,如设置的日志名为abc.log,那就会生成abc_YYYY-MM-DD_HH-mm-ss.log名字的日志文件
l rotateModule:把pm2本身的日志也进行分割
l workerInterval:设置启动几个工作进程监控日志尺寸,最小为1
rotateInterval:设置强制分割,默认值是0 0 * * *,意思是每天晚上0点分割,这个足够了个人觉得
设置完毕后可通过pm2 conf pm2-logrotate来查看详细的配置。
存在问题
我在使用过程中发现一个问题:只有当日志文件大小超过上限时都会把日志追加到最新的文件中,比如设置了日志文件名为app-out.log,日志文件大小为1M,那么在app-out.log文件没有超过1M时,即使第二天新建了日志文件app-out_yyyy-mm-dd_hh-mm-ss.log,但是依然会把日志追加到app-out.log中而非新建的日志文件中,更坑的是,在超过设定的大小后,它是把超出部分写到新的日志文件中,然后继续在app-out.log中追加- -,在官方文档中也没有发现对这个问题的说明。
不过,值得高兴的是,万能的网友解决了这个问题!Github地址在这里,请开心享用。
pm2日志管理pm2-logrotate介绍的更多相关文章
- 日志管理工具logrotate
工作所需,需要管理脚本的打印日志,百度一圈,发现了logrotate这款工具,经测试确实挺好的! 话不多说,直接上重点,以便于以后需要时查看 命令: whereis logrotate 可以看到log ...
- pm2日志管理插件
pm2的日志模块默认是每一个服务进程都分配两个默认的日志文件 普通日志 错误日志 这两个日志文件存放于/root/.pm2/logs中,如果pm2管理5个服务,那么该文件夹下总共有10个日志文件,并且 ...
- 简单好用的日志管理工具 Logrotate
前言 日志就像程序的生命记录仪,详细记录下了程序运行的点点滴滴. 慎重的选择记录哪些日志:在茫茫日志海中寻找真正记录问题的日志,你是不想经历的: 精心的定时压缩转移日志:故障发生了,日志却丢了,此时的 ...
- SQL Server中的事务日志管理(3/9):事务日志,备份与恢复
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
- pm2常用的命令用法介绍
pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的,下面我们来看pm2常用的命令用法介绍吧 ...
- pm2日志记录和日志分割
pm2日志记录和日志分割 pm2介绍 pm2是nodejs进程管理工具,现在基本是node生产服务器的标准选择,可以帮助我们实现node多进程服务,开启的多个实例自动实现负载均衡. 最重要的是保证no ...
- 服务器端配置nodejs环境(使用pm2进程管理运行)
一.brew安装: 由于Mac没有装ubantu,所以不能用apt-get命令,在本地命令行下Mac安装homebrew替代: https://brew.sh 二.新开命令窗口,登录root用户,安 ...
- Linux_日志管理介绍(一)
一.介绍 1.CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务,但是rsyslogd是和syslogd服务相兼容的 2.除了系统默认的日志之外,采用RPM方式安装的系 ...
- 【运维工具】logrotate 日志管理神器
服务器经常会产生各种各样的日志文件,我们需要定期清理 日志的分类 系统日志 应用日志 系统日志 例如系统的history 历史信息 crontab的运行日志 一般系统日志系统都帮我们运维好了,不 ...
随机推荐
- L2范数的相关求解
https://blog.csdn.net/u010725283/article/details/79212762
- 【NIFI】 Apache NiFI 使用技巧
本章介绍NIFI组件的使用. 主要有:Nginx反向代理NIFI,配置SSLContextService Nginx反向代理NIFI 使用nginx反向代理NIFI配置如下 upstream nifi ...
- 【NIFI】 Apache NiFI 集群搭建
NiFI 集群介绍 NiFi集群架构 NiFi采用Zero-Master Clustering范例.集群中的每个节点对数据执行相同的任务,但每个节点都在不同的数据集上运行.其中一个节点自动选择(通过A ...
- Java: 集合类详解
0.参考文献 http://blog.csdn.net/liulin_good/article/details/6213815 1.java集合类图 1.1 1.2 上述类图中,实线边框的是实现类,比 ...
- Java面试题之Redis
1.redis数据结构有哪些? string,list,hash,set,zset 2.redis为什么是单线程的? redis是基于内存的操作,cpu不是redis的瓶颈,内存大小或网络带宽才是: ...
- linux 安装mysql5.7.25
这两天一直在弄mysql.一直安装.终于可以安装一个成一个了.哈哈哈 自己又写了个脚本希望对大家有所帮助 脚本非常简单 不错操作起来也很容易 重要提示 我的linux 是centos7.不是6. 7和 ...
- Waiting for table metadata lock
出现下图这个现象之前是在一张事务操作频繁地表上,执行了truncate操作. mysql.sock@(none)> select user,host,db,command,time,state, ...
- Exp3 免杀原理与实践 20154320 李超
基础知识 如何检测出恶意代码 基于特征码的检测:分析指令的统计特性.代码的结构特性等.如果一个可执行文件(或其他运行的库.脚本等)拥有一般恶意代码所通有的特征(开启后门等)则被认为是恶意代码 启发式恶 ...
- (转)jira7.2安装、中文及破解
转自:http://www.cnblogs.com/ilanni/p/6200875.html 本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanni ...
- 07arguments对象.html
07arguments对象.html <!DOCTYPE html> <html lang="en"> <head> <meta char ...