zoukankan      html  css  js  c++  java
  • node日志管理 / pm2-logrotate-ext日志管理

    本篇文章说的是,如何使用pm2管理node项目的日志输出(切割和备份),文章步骤是基于已经安装了pm2的前提下,没有的,请自行百度。

    第一步:需要登录公司服务器,查看一下目前服务器保存的所有日志(用于跟后面的效果对比),执行命令 pm2 logs 可以查看。

    第二步:安装pm2日志切割管理工具(工具是pm2-logrotate的扩展),执行命令:pm2 install pm2-logrotate-ext

    第三步:安装好后会自动重启生效,可以执行命令设置如下参数,设置好参数后也会自动重启

    pm2 set pm2-logrotate-ext:retain 7   //保存7个文件

    pm2 set pm2-logrotate-ext:compress false    //是否启动压缩

    pm2 set pm2-logrotate-ext:dateFormat YYYY-MM-DD_HH-mm-ss    //日志名添加时间

    pm2 set pm2-logrotate-ext:rotateInterval '0 0 * * * '    //每天凌晨0点启动备份

    pm2 set pm2-logrotate-ext:rotateModule true    //把pm2本身的日志也进行分割

    pm2 set pm2-logrotate-ext:max_size 100M    //每个备份文件大小为100M

    pm2 set pm2-logrotate-ext:workerInterval 5    //设置启动几个工作进程监控日志尺寸,默认30,这里设置为5

    pm2 set pm2-logrotate-ext:retain 30       //保存30个备份日志文件,超过30个,会把之前的删掉,防止日志总体体积越来越大

    第四步骤,执行好之后可以查看当前的设置:pm2 conf pm2-logrotate-ext

    第五步骤:之前的日志如果不需要了,可以使用命令:pm2 flush,可以不重启项目删除日志。可以自行修改参数检验备份结果。

    我只设置了上面参数中标红的项,其它项保留了默认配置,

    最终效果是:如果当日某个项目的日志文件超过了设定的大小,这里为100M,那么会自动切割备份当日文件,如果未超过,则会在每日0点的时候启动备份,当然备份的前提是有新日志输出,没有新日志输出不会备份。一共会为每个项目保存30个备份日志。

    这就是我的node项目日志管理,如果有其它的好的建议,可以留言分享一下。

  • 相关阅读:
    限制泛型可用类型,类型通配符声明,泛型方法
    泛型简介,泛型类及使用
    异常概念和处理机制,try-catch-finally,throw和throws,自定义异常
    随机验证码
    常用类--Date日期类,SimpleDateFormat日期格式类,Calendar日历类,Math数学工具类,Random随机数类
    String、StringBuffer和StringBuilder,定义一个自己的StringBuilder的类
    自动装箱和拆箱,枚举类型
    使用内部类开发一个存放数据的容器
    手推期望、方差
    ML 徒手系列 最大似然估计
  • 原文地址:https://www.cnblogs.com/daisygogogo/p/13423160.html
Copyright © 2011-2022 走看看