pm2的自带日志管理功能:
pm2的日志模块默认是每一个服务进程都分配两个默认的日志文件两个日志文件 (Linux: /root/.pm2/logs
)
(Windows: C:Users\Administratorl\pm2\logs
) ,一个错误记录 xxx-errot.log,
,一个正常记录 xxx-out.log。启动项目后,可以通过pm2 logs
命令查看,此时屏幕上会同时输出error log
和 实时 out log
,同时会打印出日志文件的路径,类似:
但是pm2自带的日志功能是不支持自动分割的,这就会导致随之时间的推移,日志文件会越来越大,不但会影响性能,在后期排查问题的时候也会很麻烦,这时我们就可以使用pm2-logrotate
插件来解决上面的问题。
pm2-logrotate插件
pm2-logrotate是一个Node.js进程管理器PM2的模块,主要用于增强pm2的日志管理功能。它可以根据日志文件的大小自动轮换日志文件。它可以用于防止日志文件过大,导致磁盘空间或性能问题。
使用pm2-logrotate,可以配置日志文件轮换的频率、每个日志文件的最大大小以及轮换后的日志文件应该存储在哪里。该模块还提供了在旋转日志文件之前压缩和截断旧日志文件的选项。
pm2 install pm2-logrotate
pm2 list
pm2 conf pm2-logratate
pm2 set pm2-logrotate:属性名称 值
max_size
:默认10M,当一个文件的大小超过这个值时,它将会对文件进行分割。可以在最后指定单位,如10G\10M\10Kretain
:保留日志文件数量,默认为30个文件日志,当文件数量超过时,自动清理前面的日志文件compress
:是否启用 gzip 压缩处理日志文件,默认为falsedateFormat
:日志文件名称格式,默认格式 YYYY-MM-DD_HH-mm-ss。如设置的日志文件名为 out.log,就会自动分割生成 out-YYYY-MM-DD_HH-mm-ss.log 的日志文件。rotateModule
:是否把 pm2 本身的日志文件也进行分割,默认trueworkerInterval
:检查日志大小的时间间隔,默认30秒,最小值为 1。rotateInterval
:定时执行选择,默认每天午夜0 0 * * * ,(类似于 Linux 中的 cron 定时任务)
# 设置日志文件最大的大小为10KB
pm2 set pm2-logrotate:max_size 10K
# 设置日志保留数量为10个
pm2 set pm2-logrotate:retain 10
# 设置日志文件名称格式
pm2 set pm2-logrotate:dateFormat "YYYY-MM-DD_HH-mm-ss"
# 设置检查日志大小的时间间隔为12个小时(60*60*12)
pm2 set pm2-logrotate:workerInterval 43200
# 如果有设置分割时间的话,使用英文双引号
pm2 set pm2-logrotate:rotateInterval "30 * * * * *"
当大小达到10KB就会自动分割,格式如:
服务名-out 2022-12-19_14-37-51.log
的文件.
pm2 restart all
以前旧版本的 pm2-logrotate 想要停止,就只能卸载服务,卸载命令:pm2 uninstall pm2-logrotate
现在新版本的可以使用pm2 list
查看到 pm2-logrotate 进程 id 为 2 ,执行 pm2 stop 2
即可停止服务:
启动服务,执行命令: pm2 start 2
文章浏览阅读9.8k次。树莓派3 ROS语音包开发之音频采集谈到语音交互,简单步骤你我都能想到,无非就是以下几个步骤:1、语音采集 2、语音识别 3、语义理解 4、语音合成之前移植了ROS代码包,很多语音交互方面只有英文,对于中文识别来说,想要找到恰当的包比较困难,其中的难点接下来会一一来探究并找出相应的办法。该博客先不讨论后续内容,现在只着重介绍步骤一,即音频采集。音频采集首先要了解_树莓派收集声音
文章浏览阅读461次。对各位学NOI的大佬对于DP的总结的总结。———-DP数据范围:———1} 15,20 -> 状压/暴搜2} 30 -> 折半搜索-二分搜索3} 50 -> N^4 DP4} 100~200 -> Floyed,图论等5} 1000~2000 -> N^2 DP6} 1e5 -> ……可能不是DP7} 1e6_noi dp
文章浏览阅读2.5k次,点赞3次,收藏8次。参考引用:数组里面对象去重的3种方法: https://blog.csdn.net/l284969634/article/details/91397332js数组去重的多种方法: https://blog.csdn.net/linglingzi001/article/details/107772411JS中reduce方法: https://blog.csdn.net/hope93/article/details/86528183Array.reduce()方法解析: https://blog.cs_js使用reduce去重
文章浏览阅读1.7k次。```json{ "name": "Umeet", // 产品名称 "version": "3.2.0", // 产品版本 "private": true, // 是否私有 "main": "./src/main.js", // 程序入口文件 "author": { // 发布者信息 win-属性可见,mac在关于Umeet中可见 "name": "SYSTEC" }, "desc._electron-builder 固定 打包版本
文章浏览阅读4.3k次。第一章 行业概况REITs(Real Estate Investment Trusts,即不动产投资信托基金)是以发行收益凭证的方式募集投资者的资金,主要以能够产生相对稳定收益的不动产为投资标的,由专业团队经营管理,以标的不动产产生的收益为主要收入来源,并且将绝大部分收益分红给投资者的一种信托基金。自20世纪60年代在美国推出以来,已有40多个国家(地区)发行了该类产品,其投资领域由最初的房地产拓宽到酒店商场、工业地产、基础设施等,已成为专门投资不动产的成熟金融产品。按照GICS行业分类标准(2016年8月_千际投行
文章浏览阅读220次。这是我算是正式进入这个行业的第一份工作,这篇博客也算是我作为程序员的第一篇博客。心里很激动,用很多话想说,但是又不知道该从何说起。从开始因为自己的一点兴趣,和家里商量之后学习了一个可以说是和我大学专业没什么关系的java开始,因为不是计算机专业的科班出身,所以当一开始的兴趣被各种专业名词、属于、逻辑消耗殆尽时,真的怀疑过自己是不是干这个的材料,怀疑自己是不是做了一个错误的决定,走了一条根本不属于我..._小白成功上路
文章浏览阅读2.1w次,点赞147次,收藏1.1k次。标准C语言的32个关键字_ansi c32个关键字的意思
文章浏览阅读171次。源代码如下:#include <windows.h>#define ID_TIMER 1 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);VOID CALLBACK TimerProc(HWND, UINT, UINT, DWORD);int WINAPI WinMain(HINSTANCE hInstance..._vc程序设计 第5版
文章浏览阅读4.1k次。转自:https://blog.csdn.net/electech6/article/details/78707839结构光法:为解决双目匹配问题而生深度图效果:结构光vs.双目投射图案的编码方式 直接编码 ..._深度相机原理
文章浏览阅读1.4w次,点赞2次,收藏19次。最前最近捡垃圾不断,之前购买了斐讯遗产 K2P(真香,最近刷了 OpenWrt)、T1(刷了电视盒子)和蜗牛星际(刷了黑群晖),最近又捡了台斐讯 N1,主要用于做一些简单的爬虫和 Adguard Home 服务。其实原先有过一台树莓派 3B,但是 emmmm 吃灰了一年,然后二手卖了。虽然近期树莓派 4 发布了,性能有较大提升,但由于价格的原因,还是 N1 香。刷机过程由于已有的几篇文章有些内容..._斐讯n1官方降级工具
文章浏览阅读1w次,点赞2次,收藏7次。Linux服务器移动文件命令_linux移动文件命令
文章浏览阅读163次。阵容:4冰川(狂战士4、背叛者1、绝命巫师2、占卜师3) 占4人口3战士(船长4+随便一个战士,有钱就买末日审判官4) 占2人口2术士甚至4术士(灵魂收割4、暗之灵5、不免预言家5) 占1\3人口2刺客(光羽刺客4、幽影刺客3)刺客是有冰川加攻速也很厉害 占2人口阵容核心就是狂战士,2星是基本,3星就无敌。配合暗之灵可以融化对面。曾经的骑士的抗性持续3秒,6骑3龙+暗之灵...