在生产环境中是否可以使用morgan作为记录器,还是应该将其丢弃并仅在开发模式下使用?
记录生产环境日志的最佳实践是什么?
没错!在生产模式下使用Morgan作为记录器是可以的。
如果我能够概括回答你的问题,恰当的做法是在生产环境中记录尽可能多的细节。这样能确保你的服务器日志记录尽可能多的相关信息。毕竟,只有你和具有服务器访问权限的人才能看到这些日志,对吧?
我的策略是在生产环境中使用'combined'模式,它比较详细;而在开发环境中则使用'dev'模式,它更为简洁。
你可以使用环境变量或其他方法轻松切换它们。例如:
if (app.get('env') === 'production') {
app.use(logger('combined'));
} else {
app.use(logger('dev'));
}
我通常会配置的另一件事是将日志写入外部文件。毫无疑问,这在生产环境中非常有用。
关于Morgan,就介绍到这里。如果你想知道最好的日志记录方式,那么这是另一个问题,已经有答案了。
pm2
和pm2-logrotate
,然后在代码中随处使用console.log
和console.error
,让 PM2 处理日志。这是一个基于项目的观点、偏好和需求的问题。 - damd