gpt4 book ai didi

Bunyan 中的 Node.js 顺序日志记录

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:29 27 4
gpt4 key购买 nike

我已将 Bunyan 日志记录添加到我的应用程序的各个子系统中。但是当我查看日志文件时,我发现日志不是按时间戳排序的。我认为这是预期的,因为 Nodejs 的异步特性。

我想知道是否有任何方法可以更改此设置,以便日志按顺序(按时间顺序)显示?

最佳答案

如果您还寻求查看性能、最小内存开销等,那么保证运行时记录器中的排序顺序是很棘手的。正如您所建议的, Node 的异步性质对此有所贡献。

可能不是您想听到的答案,但您需要对文件进行后处理以保证顺序。在 Linux 上,一个简单的解决方案是仅对日志文件使用排序(如果您的时间戳采用 ISO 格式并且位于每行的前面,则应该可以使用):

 $ sort your-bunyan-logfile

现在您可能希望对实时日志进行排序。技术上并不困难,但我不知道有什么可以开箱即用的。您需要编写一些东西,将多行保留在内存中至少一段时间(以方便这些后期日志),然后在短暂的延迟后显示它们。您需要对要保留的最大行数以及保留多长时间做出一些决定...

这一切都超出了您想要的范围,但是如果您构建了执行此操作的东西(并将其称为livesort),让它从标准输入读取并写入标准输出,那么您可以做这样的事情来监视实时日志文件:

 $ tail -f your-bunyan-logfile | livesort 

祝你好运!-达林

关于Bunyan 中的 Node.js 顺序日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21726881/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com