debian

Debian Node.js 应用如何进行日志管理

小樊
51
2025-08-12 06:42:52
栏目: 编程语言

在Debian系统上管理Node.js应用日志,可按以下步骤操作:

  1. 选择日志库:推荐使用Winston、Bunyan或Log4js。例如,Winston支持多传输方式(文件、控制台等)和灵活的格式化配置。
    npm install winston  # 安装Winston
    
  2. 配置日志输出:在代码中初始化日志库,设置日志级别(如infoerror)和输出格式(如JSON)。
    const winston = require('winston');
    const logger = winston.createLogger({
      level: 'info',
      format: winston.format.json(),
      transports: [
        new winston.transports.File({ filename: 'error.log', level: 'error' }),
        new winston.transports.Console()
      ]
    });
    logger.info('应用启动成功');
    
  3. 日志轮转与清理:使用系统工具logrotate自动轮转日志文件,避免单个文件过大。
    sudo nano /etc/logrotate.d/nodejs-app
    # 添加配置:/path/to/logs/*.log {
    #   daily
    #   rotate 7
    #   compress
    #   missingok
    #   create 0640 root adm
    # }
    sudo logrotate -f /etc/logrotate.d/nodejs-app  # 强制测试配置
    
  4. 使用进程管理器:通过PM2管理应用日志,支持日志聚合、实时查看和自动轮转。
    sudo npm install -g pm2
    pm2 start app.js --name my-app
    pm2 logs  # 查看实时日志
    pm2 set pm2:log-date-format "YYYY-MM-DD HH:mm Z"  # 设置日志时间格式
    
  5. 系统日志查看:利用journalctl查看系统级日志,或通过/var/log目录下的文件(如syslog)排查问题。
    journalctl -u node-app  # 查看特定服务的系统日志
    

关键实践:生产环境中建议使用JSON格式结构化日志,结合ELK等集中式日志系统进行存储和分析,同时确保敏感信息脱敏。

0
看了该问题的人还看了