首页主机资讯Node.js日志如何进行切割

Node.js日志如何进行切割

时间2025-10-17 14:01:03发布访客分类主机资讯浏览1464
导读:在Node.js中,可以使用第三方库winston和winston-daily-rotate-file来实现日志切割。以下是一个简单的示例: 首先,确保已经安装了winston和winston-daily-rotate-file这两个库。...

在Node.js中,可以使用第三方库winstonwinston-daily-rotate-file来实现日志切割。以下是一个简单的示例:

  1. 首先,确保已经安装了winstonwinston-daily-rotate-file这两个库。如果没有,请使用以下命令安装:
npm install winston winston-daily-rotate-file
  1. 创建一个名为logger.js的文件,并在其中设置日志记录器和日志切割:
const winston = require('winston');

const {
 format }
     = winston;

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


// 自定义日志格式
const myFormat = printf(({
 timestamp, level, message }
    ) =>
 {

  return `${
timestamp}
 ${
level}
: ${
message}
    `;

}
    );


// 创建一个日志记录器
const logger = winston.createLogger({

  level: 'info',
  format: combine(
    timestamp(),
    myFormat
  ),
  transports: [
    new DailyRotateFile({

      filename: 'logs/application-%DATE%.log', // 日志文件名格式
      datePattern: 'YYYY-MM-DD', // 按日期切割日志
      zippedArchive: true, // 是否压缩归档日志
      maxSize: '20m', // 单个日志文件最大尺寸
      maxFiles: '14d' // 保留最近14天的日志文件
    }
)
  ]
}
    );
    

module.exports = logger;
    
  1. 在你的Node.js应用程序中使用logger.js
const logger = require('./logger');
    

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

这样,你的Node.js应用程序将会在每天生成一个新的日志文件,并根据配置进行日志切割和压缩。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Node.js日志如何进行切割
本文地址: https://pptw.com/jishu/728960.html
Debian文件管理怎样快速查找 Linux下如何使用正则表达式

游客 回复需填写必要信息