linux

Linux下如何高效管理JS日志

小樊
44
2025-12-29 00:00:18
栏目: 编程语言

Linux下高效管理JS日志

一 核心原则

二 采集与落盘

// npm i winston
const winston = require('winston');

const logger = winston.createLogger({
  level: process.env.NODE_ENV === 'production' ? 'info' : 'debug',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
    new winston.transports.File({ filename: 'logs/combined.log' })
  ]
});

logger.info({ event: 'user.login', userId: '12345', ip: '192.168.1.1' });
// npm i winston-daily-rotate-file
const DailyRotateFile = require('winston-daily-rotate-file');

logger.add(new DailyRotateFile({
  filename: 'logs/app-%DATE%.log',
  datePattern: 'YYYY-MM-DD',
  zippedArchive: true,
  maxSize: '20m',
  maxFiles: '14d'
}));

三 轮转与清理

/path/to/your/logs/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 640 root adm
}
#!/usr/bin/env bash
LOG_DIR="/path/to/your/logs"
find "$LOG_DIR" -type f -name "*.log*" -mtime +7 -delete

四 集中化与可视化

五 监控告警与安全合规

0
看了该问题的人还看了