2016-12-16 2 views
0

Ich versuche, Chefs Handler besser zu verstehen und mit etwas über Chef's documentation lesen und einige Blog-Posts, habe ich diese grundlegende benutzerdefinierte Handler eingerichtet. DieseWarum zeigt Chef nicht Protokolle von meinem benutzerdefinierten Handler an?

ist zu Beginn meiner Rezept

chef_handler 'SimpleReport::UpdatedResources' do 
    source "handler_test.rb" 
    action :enable 
end 

Dies ist der Handler dh handler_test.rb

require 'chef/log' 
require 'chef/handler' 

module SimpleReport 
    class UpdatedResources < Chef::Handler 

    def report 
     if run_status.updated_resources 
     Chef::Log.info "Resources updated this run:" 
     run_status.updated_resources.each {|r| Chef::Log.info "#{r.to_s}"} 
     else 
     Chef::Log.info "No Resources updated this run!" 
     end 
    end 
    end 
end 

Ich bin mit Chef Zero, mit Log-Level auf Info. Chef erkennt und registriert den Handler:

* chef_handler[SimpleReport::UpdatedResources] action enable 
    - disable SimpleReport::UpdatedResources as a report handler 
    - disable SimpleReport::UpdatedResources as a exception handler 
    - load SimpleReport::UpdatedResources from handler_test.rb 
    - enable chef_handler[SimpleReport::UpdatedResources] as a report handler 
    - enable chef_handler[SimpleReport::UpdatedResources] as a exception handler 

noch am Ende des Laufes, gibt es keinen Bericht der Handler:

Running handlers: 
    - SimpleReport::UpdatedResources 
Running handlers complete 

Warum ist das so?

Antwort

2

fiel ich vom Chef Gemeinschaft schlaff und was told that Chef may enable the Formatierer und zeigen die Formatierer ausgegeben, wenn Chef interaktiv ausgeführt wird

(wie durch das Vorhandensein eines TTY bestimmt)

Dies scheint nicht überall dokumentiert werden, sondern ist present in the code . Um dies zu umgehen, können Sie die Option --force-logger verwenden, um sicherzustellen, dass die Protokollausgabe anstelle der formatierten Ausgabe verwendet wird, oder die -L log-file-name übergeben, um die Ergebnisse in einer Datei

zu protokollieren
Verwandte Themen