如何在厨房测试中捕获 Chef::Log.info
How to capture Chef::Log.info in kitchen test
当我运行
kitchen test
或
kitchen test --log-level info
我正在测试的食谱中没有日志,即。
Chef::Log.info("How to make appear in kitchen output?")
显示在 kitchen 到控制台的输出中。无论如何要做到这一点?
driver: 流浪汉
提供者:chef-solo
谢谢,
你 can set the verbose level 当 运行 测试厨房时,例如kitchen test -l debug
。您所看到的是,默认情况下,Chef 在 WARN 和更高级别运行,因此默认情况下,INFO 是隐藏的。 chef-client
也是如此。在厨房命令上使用 -l debug
会将 -l debug
传递给 chef-client
命令,然后您也会看到 INFO 级别的日志。
更新:从 Test Kitchen 1.7.0 版开始,Martin 的回答不再正确(参见 pull request #950)。
根据 Dynamic Configuration doc、"Since Kitchen 1.7.0 the log level for the provisioner is no longer related to the Kitchen log level."
下面给出了在中设置log_level
的例子。kitchen.yml:
provisioner:
name: chef-zero
log_level: <%= ENV['CHEF_LOG_LEVEL'] || auto %>
我的测试证实:
Chef::Log.debug
调用 未被记录 只是 运行 kitchen converge -l debug
.
Chef::Log.debug
调用 在 中设置 log_level: debug
后被记录 。kitchen.yml.
当我运行
kitchen test
或
kitchen test --log-level info
我正在测试的食谱中没有日志,即。
Chef::Log.info("How to make appear in kitchen output?")
显示在 kitchen 到控制台的输出中。无论如何要做到这一点?
driver: 流浪汉
提供者:chef-solo
谢谢,
你 can set the verbose level 当 运行 测试厨房时,例如kitchen test -l debug
。您所看到的是,默认情况下,Chef 在 WARN 和更高级别运行,因此默认情况下,INFO 是隐藏的。 chef-client
也是如此。在厨房命令上使用 -l debug
会将 -l debug
传递给 chef-client
命令,然后您也会看到 INFO 级别的日志。
更新:从 Test Kitchen 1.7.0 版开始,Martin 的回答不再正确(参见 pull request #950)。
根据 Dynamic Configuration doc、"Since Kitchen 1.7.0 the log level for the provisioner is no longer related to the Kitchen log level."
下面给出了在中设置log_level
的例子。kitchen.yml:
provisioner:
name: chef-zero
log_level: <%= ENV['CHEF_LOG_LEVEL'] || auto %>
我的测试证实:
Chef::Log.debug
调用 未被记录 只是 运行kitchen converge -l debug
.Chef::Log.debug
调用 在 中设置log_level: debug
后被记录 。kitchen.yml.