117.info
人生若只如初见

Node.js日志轮转机制如何配置

在 Node.js 应用程序中,可以使用第三方库 winstonmorgan 配置日志轮转。这里以 winston 为例,介绍如何配置日志轮转。

首先,确保已经安装了 winstonwinston-daily-rotate-file 这两个库:

npm install winston winston-daily-rotate-file

接下来,创建一个名为 logger.js 的文件,并添加以下内容:

const winston = require('winston');
const { format } = winston;
const DailyRotateFile = require('winston-daily-rotate-file');

const transport = new DailyRotateFile({
  filename: 'logs/application-%DATE%.log', // 日志文件名格式
  datePattern: 'YYYY-MM-DD', // 日志轮转日期格式
  zippedArchive: true, // 是否压缩轮转后的日志文件
  maxSize: '20m', // 单个日志文件最大尺寸
  maxFiles: '14d' // 保留日志文件的天数
});

const logger = winston.createLogger({
  level: 'info', // 日志级别
  format: format.combine(
    format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), // 时间戳格式
    format.errors({ stack: true }), // 错误堆栈信息
    format.splat(), // 其他日志信息
    format.json() // 日志格式为 JSON
  ),
  transports: [
    transport
  ]
});

module.exports = logger;

现在,可以在应用程序中使用 logger.js 文件中导出的 logger 对象记录日志:

const logger = require('./logger');

logger.info('Hello, world!');
logger.error('An error occurred');

这样配置后,日志文件将每天轮转一次,并保留最近 14 天的日志文件。每个日志文件的最大尺寸为 20MB。当文件达到最大尺寸时,将自动创建一个新的日志文件。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe5ffAzsNAwZfDFw.html

推荐文章

  • Linux syslog如何实现日志集中管理

    在Linux系统中,Syslog是一个常用的日志收集和管理工具,它可以将来自系统和应用程序的日志信息集中存储和管理,方便进行日志分析、监控和故障排除。以下是实现L...

  • GitLab在Linux上如何监控

    在Linux上监控GitLab可以通过多种工具和方法实现,以下是几种常见的方法:
    使用Prometheus和Grafana进行监控 安装和配置Prometheus: 下载并安装Prometheus...

  • Compton与Xorg相比有哪些优势

    Compton与Xorg相比具有以下优势: 降低CPU占用率:Compton通过合成窗口的图像,避免了多个窗口之间的闪烁和重绘,从而显著降低了CPU的占用率。 提高图形性能:Co...

  • 如何利用Linux清理临时文件

    在Linux系统中,可以通过以下几种方法来清理临时文件:
    1. 使用系统自带的清理工具
    a. systemd-tmpfiles 和 systemd-cleanup
    大多数现代Linux发行...

  • ubuntu minimal如何安装FTP服务器

    在Ubuntu Minimal上安装FTP服务器,你可以选择使用vsftpd(Very Secure FTP Daemon)这个流行的FTP服务器软件。以下是在Ubuntu Minimal上安装vsftpd的步骤: 更新...

  • centos lamp故障排查方法

    在CentOS上搭建LAMP环境时,可能会遇到各种问题。以下是一些常见的故障排查方法和解决方案:
    1. 检查网络连接 使用 ping 命令测试与远程主机之间的连通性。...

  • Linux strings输出格式能调整吗

    strings 命令用于从二进制文件中提取可打印的字符串。默认情况下,strings 命令的输出格式是简单的文本行,每行一个字符串。然而,你可以通过一些选项和技巧来调...

  • DHCP故障排除工具有哪些推荐

    DHCP故障排除工具有很多,以下是一些推荐的工具:
    360断网急救箱 功能:检测物理连接、网卡驱动、DHCP服务、DNS服务、hosts文件、浏览器配置、LSP协议、网络...