大家好,我现在要在Play商店中启动我的应用程序,因为我正在使用带有mongoDB的node.js我现在使用winston进行日志记录用于生产目的我只记录错误而不是其他级别现在我想知道会不会记录http请求和响应的任何使用我的意思是我不知道公司存储什么样的日志,所以如果有人在任何存储日志的公司工作,这对我来说真的很有帮助。也可以任何人请求告诉我,我可以使用winston记录http请求和响应,我只听说过摩根吗?
答案 0 :(得分:1)
企业客户可能对日志记录和保留有合规性要求。
首先,您应确认自己的应用日志记录要求。这个问题可能会因为过于宽泛或基于意见而被封闭,但是一旦了解了您的日志记录要求,您就可以提出更具体的问题。
我建议使用Nginx作为参考代理,它将为您提供HTTP访问日志记录,并为高性能的静态资产提供服务。
对于更高级的日志记录,请考虑使用JSON格式而不是纯文本格式,以便更轻松地针对日志运行结构化查询。 Node.js的bunyan
日志记录模块为您处理。
企业要求可能包括存储在其他服务器上的日志。 我不建议您尝试让您的应用直接通过网络登录。如果做得不好,如果与远程服务器的网络连接断开,则可能导致阻塞或无限制的内存增长。
相反,请登录STDOUT并让像rsyslog
这样的服务处理日志记录配置和网络。记录服务专门针对这些需求而构建,并且做得很好。 systemd
和docker
都鼓励记录到STDOUT。以下是适用于由forever
管理的流程的语法示例:
forever start --append -l >(logger --tag your_app_name) ./server.js >/dev/null
对于第三方日志记录服务,我建议使用Logentries,因为它提供了有关其安全性和合规性功能的详细说明,以解决您的问题。