搭建node服务(一):日志处理
对于一个应用程序来说,日志记录是非常重要的。日志可以帮助开发人员快速定位线上问题,定制解决方案;日志中包含大量用户信息,通过日志分析还可以获取用户行为、兴趣偏好等信息,通过这些信息可以得到用户画像,对公司战略的制定提供参考。本文将要介绍如何在node服务中处理日志。 一、技术选型 选择了3种主流的技术进行对比: 1.1 log4js log4js是一种node日志管理工具,可以将自定义格式的日志输出到各种渠道。对于控制台的日志输出可以呈现彩色日志,对于文件方式的日志输出,可以根据文件大小或者日期进行日志切割。 熟悉java的开发人员会发现log4js与一种常用的java日志工具log4j很像。没错,log4js是log4j的JavaScript版,使用方式也相似。 1.2 winston winston也是一种非常流行的node日志管理工具,支持多传输。默认输出格式为json,也可以自定义输出格式。如果想要对日志进行切割还需要使用 winston-daily-rotate-file 模块。 1.3 PM2 PM2实际是node进程管理工具,具有性能监控、进程守护、负载均衡、日志管理等功能。使用PM2进行日志管理,只需要项目中增加console方法调用,无需添加额外的代码。要对日志进行切割,需要使用pm2-logrotate。 由于团队内部服务端系统很多是基于java的