首页 > 解决方案 > 为通过 xargs 运行的 shell 脚本生成可理解的日志

问题描述

我目前正在使用 curl 在 shell 脚本中重新索引 Elasticsearch 索引,以执行 REST API 调用。

为了提高性能,我正在使用超过 10 个进程的 xargs 运行此脚本。

但是,我的所有脚本都输出到单个日志中,这使得该日志无用/难以理解,因为输出是异步写入的,这使得日志无序。

客户希望通过查看日志来了解重新索引的进度(即,他们想知道在查看日志时是否完成了 50/100 索引)。我们希望有 curl 输出等用于调试目的。

有哪些方法可以制作可理解的日志?

标签: bashlogging

解决方案


您可以尝试为每个进程指定一个单独的日志文件,然后在最后连接日志。

但是,如果您真的希望他们都访问同一个日志文件,那么恐怕您唯一的方法就是使用锁,这对于 bash/xargs 来说并不容易。


推荐阅读