【发布时间】:2021-03-29 03:17:30
【问题描述】:
Spf13/cobra 命令提供了许多优雅的工具来向用户提供反馈。我有更多使用 Python/headless 服务的经验,其中标准是使用日志库,然后在必要时重定向到 stdio。
但是,我对眼镜蛇的探索越多,感觉这条路就走错了。相反,我觉得我应该通过 cobra 发送所有内容,然后从缓冲区中挑选应该记录的内容。
这里有什么惯用的指导吗?
【问题讨论】:
Spf13/cobra 命令提供了许多优雅的工具来向用户提供反馈。我有更多使用 Python/headless 服务的经验,其中标准是使用日志库,然后在必要时重定向到 stdio。
但是,我对眼镜蛇的探索越多,感觉这条路就走错了。相反,我觉得我应该通过 cobra 发送所有内容,然后从缓冲区中挑选应该记录的内容。
这里有什么惯用的指导吗?
【问题讨论】:
对于打算被用户阅读的消息,我建议使用cobra.Command 提供的方法。
日志通常用于显示/保存将由开发人员阅读(在本例中为您)或用户明确希望阅读日志的消息。
根据这个推理,您实际上可以同时使用它们。例如,您可以执行
c.Println("<success message>") 告诉用户命令成功,并且--verbose 标志传递给您的应用,您的 CLI 应用中将显示(或保存在日志文件中)的调试/信息/错误日志。【讨论】: