debian

Debian系统JS日志记录设置指南

小樊
55
2025-08-23 14:47:31
栏目: 编程语言

Debian系统JS日志记录设置指南

一、选择日志库

推荐使用以下库,根据需求选择:

二、安装与配置日志库

Winston为例:

  1. 安装
    npm install winston
    
  2. 基础配置(代码内):
    const winston = require('winston');
    const logger = winston.createLogger({
      level: 'info', // 日志级别(error/warn/info/debug)
      format: winston.format.json(), // 输出格式
      transports: [
        new winston.transports.Console(), // 输出到控制台
        new winston.transports.File({ filename: 'error.log', level: 'error' }), // 错误日志单独文件
        new winston.transports.File({ filename: 'combined.log' }) // 所有日志文件
      ]
    });
    logger.info('这是一条信息日志');
    

三、日志轮转(防止文件过大)

使用winston-daily-rotate-file插件:

  1. 安装
    npm install winston-daily-rotate-file
    
  2. 配置
    const DailyRotateFile = require('winston-daily-rotate-file');
    const transport = new DailyRotateFile({
      filename: 'app-%DATE%.log',
      datePattern: 'YYYY-MM-DD',
      maxSize: '20m', // 单个文件最大20MB
      maxFiles: '14d', // 保留14天日志
      zippedArchive: true // 压缩旧日志
    });
    const logger = winston.createLogger({
      transports: [transport]
    });
    

四、环境变量动态控制

通过环境变量调整日志级别,无需修改代码:

const logLevel = process.env.LOG_LEVEL || 'info'; // 优先读取环境变量,未设置则默认info
const logger = winston.createLogger({
  level: logLevel,
  // 其他配置...
});

启动时指定环境变量:

LOG_LEVEL=debug node app.js

五、集中式日志管理(可选)

六、权限与安全

参考来源[1,2,3,5,6,7,8,9,10,11]

0
看了该问题的人还看了