阅读量:0
在Ubuntu上定制Node.js日志格式,可选用以下工具及技巧:
- Winston:支持多传输、灵活格式化,如添加时间戳、自定义消息格式。
const logger = winston.createLogger({ format: winston.format.combine( winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.printf(({ timestamp, level, message }) => `${timestamp} ${level.toUpperCase()}: ${message}`) ), transports: [new winston.transports.Console(), new winston.transports.File({ filename: 'app.log' })] }); - Morgan:专为HTTP请求设计,可自定义请求日志格式(如方法、URL、状态码)。
app.use(morgan(':method :url :status :response-time ms')); - Pino:高性能,支持JSON格式及时间戳翻译。
const logger = pino({ format: pino.format.json({ prettyPrint: true, translateTime: 'YYYY-MM-DD HH:mm:ss' }) }); - Log4js:支持多appender(如控制台、文件),可通过pattern布局自定义格式。
log4js.configure({ appenders: { out: { type: 'stdout', layout: { type: 'pattern', pattern: '%d{yyyy-MM-dd HH:mm:ss} [%p] %c - %m%n' } } }, categories: { default: { appenders: ['out'], level: 'info' } } });
技巧:
- 结合
logrotate工具实现日志轮转,避免文件过大。 - 生产环境中可通过PM2管理进程,配合其日志配置简化部署。
- 为终端输出添加颜色(如使用
chalk库),提升可读性。
以上就是关于“Ubuntu Node.js日志格式化技巧分享”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm