8

When I run

   kitchen test

or

   kitchen test --log-level info

No logs that I have in my recipe under test ie.

   Chef::Log.info("How to make appear in kitchen output?")

are displayed in kitchen's output to console. Anyway to make this happen?

driver: vagrant

provisioner: chef-solo

Thanks,

4

2 回答 2

13

更新:Martin 的回答从 Test Kitchen 的 1.7.0 版开始不再正确(参见pull request #950)。

根据动态配置文档,“自 Kitchen 1.7.0 起,provisioner 的日志级别不再与 Kitchen 日志级别相关。”

它给出了以下设置log_levelin .kitchen.yml的示例:

provisioner: name: chef-zero log_level: <%= ENV['CHEF_LOG_LEVEL'] || auto %>

我的测试证实:

  • Chef::Log.debug简单地运行时不会记录调用kitchen converge -l debug
  • Chef::Log.debug.kitchen.yml设置后记录呼叫。log_level: debug
于 2017-05-05T04:32:07.887 回答
1

您可以在运行测试厨房时设置详细级别kitchen test -l debug,例如. 您所看到的是默认情况下,Chef 在 WARN 或更高级别运行,因此默认情况下,INFO 是隐藏的。这也是如此chef-client。使用-l debugon your kitchen 命令将传递-l debug给该chef-client命令,然后您也会看到 INFO 级别的日志。

于 2015-09-23T01:03:52.457 回答