1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| const { createLogger, format, transports } = require('winston');
| require('winston-daily-rotate-file');
|
| const { combine, timestamp, label, printf } = format;
|
| // 自定义日志格式
| const myFormat = printf(({ level, message, label, timestamp }) => {
| return `${timestamp} [${label}] ${level}: ${message}`;
| });
|
| // 创建日志记录器
| const logger = createLogger({
| level: 'info', // 设置最低日志级别
| format: combine(
| label({ label: 'dataSocketService' }), // 可选:给日志添加标签
| timestamp(), // 添加时间戳
| myFormat // 使用自定义格式
| ),
| transports: [
| new transports.Console(), // 输出到控制台(可选)
| new transports.DailyRotateFile({
| filename: 'logs/application-%DATE%.log', // 日志文件名模式
| datePattern: 'YYYY-MM-DD', // 日期格式
| zippedArchive: true, // 归档旧日志文件时压缩
| maxSize: '20m', // 文件最大大小
| maxFiles: '14d', // 保留最近14天的日志文件
| }),
| ],
| });
|
| module.exports = logger;
|
|