Spf13/cobra命令提供了许多优雅的工具来向用户提供反馈。我在使用Python/headless服务方面有更多的经验,其中的标准是使用日志库,然后在必要时重定向到stdio。
然而,我越是探索眼镜蛇,就觉得这是一条错误的道路。相反,我觉得我应该通过cobra发送所有内容,并从缓冲区中选择应该用于日志记录的内容。
这里有地道的指南吗?
我建议将cobra.Command
提供的方法用于打算由用户读取的消息。
日志通常用于显示/保存将由开发人员(在本例中为您(读取的消息,或者用户明确希望读取日志时的消息。
有了这个推理,你实际上可以同时使用它们。例如,您可以执行
c.Println("<success message>")
告诉用户命令成功,并且- 调试/信息/错误日志在您的CLI应用程序中,如果用户将
--verbose
标志传递给您的应用程序,则会显示(或保存在日志文件中(