bash - 为通过 xargs 运行的 shell 脚本生成可理解的日志
问题描述
我目前正在使用 curl 在 shell 脚本中重新索引 Elasticsearch 索引,以执行 REST API 调用。
为了提高性能,我正在使用超过 10 个进程的 xargs 运行此脚本。
但是,我的所有脚本都输出到单个日志中,这使得该日志无用/难以理解,因为输出是异步写入的,这使得日志无序。
客户希望通过查看日志来了解重新索引的进度(即,他们想知道在查看日志时是否完成了 50/100 索引)。我们希望有 curl 输出等用于调试目的。
有哪些方法可以制作可理解的日志?
解决方案
您可以尝试为每个进程指定一个单独的日志文件,然后在最后连接日志。
但是,如果您真的希望他们都访问同一个日志文件,那么恐怕您唯一的方法就是使用锁,这对于 bash/xargs 来说并不容易。
推荐阅读
- javascript - 如何用reactjs中的锚标记替换字符串中的文本
- node.js - 是否建议将 Docker 与 AWS Elastic beanstalk 一起使用?
- c++ - 太空侵略者:射击时列中的所有敌人都会死亡
- python - 如何在python中将不是csv文件的.csv格式转换为JSON格式?
- ios - coreData ios swift中的嵌套表
- python - 如何检查列表中的元素是否包含在其他列表中?
- r - 将观察数添加到多个 ggplot2 箱线图
- sql - 非常简单但仍然很复杂,只想使用动态数据向 SSRS 添加参数
- powerbi - 如何从 Power BI 连接到 2 个不同的数据源
- arrays - python中字符串的类型代码是什么?