2015-09-22 125 views
3

當我運行如何捕獲廚師:: Log.info在廚房試驗

kitchen test 

kitchen test --log-level info 

沒有日誌,我在我的測試下,即配方。

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

顯示在廚房的輸出到控制檯。無論如何要做到這一點?

司機:流浪漢

供應方:廚師獨奏

感謝,

回答

1

can set the verbose level當運行測試的廚房,例如kitchen test -l debug。你所看到的是,默認情況下,Chef運行在WARN和更高版本,所以默認情況下INFO是隱藏的。 chef-client也是如此。在您的廚房命令中使用-l debug-l debug傳遞給chef-client命令,然後您將看到INFO級日誌。

+1

嗨 - 我已經嘗試過,但仍然沒有看到配方中的任何日誌 - 這是否適用於廚師獨奏? - 實際上無視 - 文檔說它 - 生病嘗試幾個不同的日誌級別,看看會發生什麼 – MikeW

+0

我一直在使用它,所以我很確定這是正確的。儘管我只用'-l debug'。 – Martin

3

更新:Martin Test的答案在Test Kitchen版本1.7.0中不再是真實的(見pull request #950)。

根據Dynamic Configuration doc,「自廚房1.7.0以來,供應商的日誌級別不再與廚房日誌級別相關。」

它給.kitchen.yml在設置log_level的下面的例子:

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後登錄。
+0

請注意,log_level選項當前未在[.kitchen.yml語法文檔](https://docs.chef.io/config_yml_kitchen.html)中記錄。 另請參見[更新日誌中的v1.7.0條目](https://github.com/test-kitchen/test-kitchen/blob/master/CHANGELOG.md#v170-2016-04-01) –

相關問題