【发布时间】:2021-08-27 17:22:02
【问题描述】:
所以,我有一些服务正在运行,控制台中打印的任何内容都被 datadog 代理抓取以显示在 Datadog UI 中。问题是有时当出现意外错误时,堆栈跟踪是多行的,并且在 datadog 中显示为不同的日志。有没有办法自动拦截任何标准输出并将其转换为多行?
我总是可以尝试排除所有内容并在我的记录器中处理它,但尝试排除每段代码可能并不理想?
【问题讨论】:
-
如果你改变 stderr 来写入某个文件怎么办?
-
这个拦截应该如何告诉它应该删除哪些“多行” \n 并变成单行,以及哪些作为单行传递?
-
理想情况下它总是删除多行。当有新消息进来并且每条新消息都应该变成一行时,我希望有一个拦截器
-
stderr 到文件不是一个选项。整个产品基于从标准输出中抓取