我的node.js应用程序使用winston.js来记录并输出为JSON而不是纯文本。我的应用程序使用的各种第三方库也使用自己的日志记录包,如bunyan。节点本身也在使用某些东西。来自这些第三方的消息不会通过winston.js漏斗并导致我们的聚合日志记录解决方案不一致,因为我们希望所有内容都是单行JSON。
有没有办法拦截所有日志记录调用,无论使用哪些日志包,并通过winston.js将它们全部汇总?
例如,node.js向stderr发出警告,我想拦截它,而不是像下面那样重定向到stdout:
(node:31144) [DEP0064] DeprecationWarning: tls.createSecurePair() is deprecated. Please use tls.Socket instead.