首页 > 系统教程 > LINUX > 正文

如何设置Node.js日志轮转

星降
发布: 2025-03-06 08:36:01
原创
257人浏览过

如何设置node.js日志轮转

本文介绍如何使用winston和winston-daily-rotate-file这两个Node.js库实现日志文件轮转功能。

前提条件: 确保已安装Node.js。 若未安装,请访问Node.js官网下载安装。

步骤:

  1. 安装依赖库: 打开终端或命令行,进入项目目录,执行以下命令安装必要的npm包:

    npm install winston winston-daily-rotate-file
    登录后复制
  2. 创建日志配置(logger.js): 创建一个名为logger.js的文件,并添加以下代码:

    const winston = require('winston');
    const { format } = winston;
    const DailyRotateFile = require('winston-daily-rotate-file');
    
    const logger = winston.createLogger({
      level: 'info', // 日志级别
      format: format.combine(
        format.timestamp(),
        format.printf(({ timestamp, level, message }) => `${timestamp} ${level}: ${message}`)
      ),
      transports: [
        new DailyRotateFile({
          filename: 'logs/application-%DATE%.log', // 日志文件路径及命名模式
          datePattern: 'YYYY-MM-DD', // 日期格式
          zippedArchive: true, // 是否压缩旧日志
          maxSize: '20m', // 单个日志文件最大大小
          maxFiles: '14d' // 保留最大日志文件天数
        })
      ]
    });
    
    module.exports = logger;
    登录后复制

    该配置将日志写入logs目录下,文件名格式为application-YYYY-MM-DD.log,每天生成一个新的日志文件,旧日志文件会被压缩并保留14天。 你可以根据需要调整maxSize和maxFiles参数。

  3. 使用日志记录器: 在你的项目代码中引入并使用logger:

    const logger = require('./logger');
    
    logger.info('应用启动成功');
    logger.error('发生错误:', error);
    logger.warn('警告信息');
    登录后复制

    现在,你的Node.js应用将使用配置的日志轮转策略生成和管理日志文件。 记得创建logs目录。

通过以上步骤,你可以轻松实现Node.js应用的日志轮转功能,方便日志管理和分析。 记住根据实际情况调整日志文件路径、大小和保留天数等参数。

以上就是如何设置Node.js日志轮转的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号