我正在使用 NodeJS 开发一个应用程序并部署在 Heroku 中。
我需要记录多行消息(例如堆栈跟踪和其他多行信息),但希望将它们保留为一条日志消息。
问题是当使用console.log
(或任何使用的框架console.log
/stdout
)对于多行消息,Heroku 将其解释为多条消息(原始消息中每行一条消息)。
我认为问题在于 Heroku 从进程中读取消息'stdout
并且无法区分换行符(LF
/CR
) 在一条消息中,或者在多条消息中换行,从而每行创建一条消息。
我尝试将消息直接发送到系统日志(使用ain2 https://npmjs.org/package/ain2)而不是标准输出,它适用于多行消息,但仅适用于我的本地环境。
我想在使用 logplex/syslog 的 Heroku 中做同样的事情?但在使用带有默认参数(localhost、UDP、端口 514)的 syslog 时无法记录我的消息。
还有其他有效的方法可以在 Heroku 中记录多行消息吗?这是平台的不足吗?
我什至不确定你的堆栈跟踪会取得多大成功,因为最终这是syslog
基于,并且 Heroku 可能对单个长度有限制syslog
线。但不确定,而且肯定不知道极限。
你能做的就是更换每一个\n
with \n>>>
(即:以“">>>”开始每个连续行),然后在日志处理代码中相应地解析它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)