【发布时间】:2024-01-06 08:56:01
【问题描述】:
当我跑步时
kitchen test
或
kitchen test --log-level info
我的食谱中没有日志,即在测试中。
Chef::Log.info("How to make appear in kitchen output?")
显示在厨房的控制台输出中。无论如何要做到这一点?
司机:流浪者
供应商:主厨独奏
谢谢,
【问题讨论】:
当我跑步时
kitchen test
或
kitchen test --log-level info
我的食谱中没有日志,即在测试中。
Chef::Log.info("How to make appear in kitchen output?")
显示在厨房的控制台输出中。无论如何要做到这一点?
司机:流浪者
供应商:主厨独奏
谢谢,
【问题讨论】:
更新:自 Test Kitchen 1.7.0 版起,Martin 的回答不再正确(请参阅 pull request #950)。
根据Dynamic Configuration doc,“自 Kitchen 1.7.0 起,provisioner 的日志级别不再与 Kitchen 日志级别相关。”
下面给出了在.kitchen.yml中设置log_level的例子:
provisioner:
name: chef-zero
log_level: <%= ENV['CHEF_LOG_LEVEL'] || auto %>
我的测试证实:
Chef::Log.debug 调用没有在简单地运行 kitchen converge -l debug 时被记录。log_level: debug 后,Chef::Log.debug 调用被记录。【讨论】:
你 can set the verbose level 在运行测试厨房时,例如kitchen test -l debug。您看到的是默认情况下,Chef 在 WARN 或更高级别运行,因此默认情况下,INFO 是隐藏的。 chef-client 也是如此。在你的厨房命令上使用-l debug 会将-l debug 传递给chef-client 命令,然后你也会看到INFO 级别的日志。
【讨论】:
-l debug 一起使用。