2014-10-29 180 views
1

我使用Hiera(ruby庫,不是命令行工具或puppet集成)從現有的Hiera YAML(我們用於puppet使用)檢索數據,用於Capistrano 。我能夠得到這個工作的目的......但我似乎無法擺脫調試輸出,這似乎是默認的:禁用Hiera調試日誌記錄

$ sudo cap deploy 
WARN: 2014-10-29 12:17:09 +0000: Not using Hiera::Puppet_logger. It does not report itself to be suitable. 
WARN: 2014-10-29 12:17:09 +0000: Cannot load backend puppet: cannot load such file -- hiera/backend/puppet_backend 
DEBUG: 2014-10-29 12:17:09 +0000: Hiera YAML backend starting 
DEBUG: 2014-10-29 12:17:09 +0000: Looking up package_repo_base in YAML backend 
DEBUG: 2014-10-29 12:17:09 +0000: Looking for data source environments/PROD/LDN 
DEBUG: 2014-10-29 12:17:09 +0000: Looking for data source regions/LDN 
DEBUG: 2014-10-29 12:17:09 +0000: Cannot find datafile /etc/customer/hieradata/regions/LDN.yaml, skipping 
DEBUG: 2014-10-29 12:17:09 +0000: Looking for data source environments/PROD 
DEBUG: 2014-10-29 12:17:09 +0000: Looking for data source common 
DEBUG: 2014-10-29 12:17:09 +0000: Found package_repo_base in common 
WARN: 2014-10-29 12:17:09 +0000: Not using Hiera::Puppet_logger. It does not report itself to be suitable. 
WARN: 2014-10-29 12:17:09 +0000: Cannot load backend puppet: cannot load such file -- hiera/backend/puppet_backend 
DEBUG: 2014-10-29 12:17:09 +0000: Looking up puppet_deploy_base in YAML backend 
DEBUG: 2014-10-29 12:17:09 +0000: Looking for data source environments/PROD/LDN 
DEBUG: 2014-10-29 12:17:09 +0000: Looking for data source regions/LDN 
DEBUG: 2014-10-29 12:17:09 +0000: Cannot find datafile /etc/customer/hieradata/regions/LDN.yaml, skipping 
DEBUG: 2014-10-29 12:17:09 +0000: Looking for data source environments/PROD 
DEBUG: 2014-10-29 12:17:09 +0000: Looking for data source common 
DEBUG: 2014-10-29 12:17:09 +0000: Found puppet_deploy_base in common 

************************************************************************************************************************************************** 
* Recording output in: deploy.20141029-121709+0000.log * 
************************************************************************************************************************************************** 

    * 2014-10-29 12:17:09 executing `deploy' 
    * 2014-10-29 12:17:09 executing `deploy:update' 
** transaction: start 

目前這僅僅是一個煩惱比什麼都重要,但擴展輸出(我已經修剪了上面的輸出)使得日誌記錄相當嘈雜,我希望能夠擺脫它。

回答

1

我設法通過deploy.rb內設置配置哈希在hiera調用排序了這一點:

def hiera_lookup(key,default=nil,order_override=nil,resolution_type=:priority) 
    hiera_yaml = File.realpath('./puppet/hiera.yaml') 
    config = YAML.load_file(hiera_yaml) 
    config[:logger] = 'noop' 

    scope = YAML.load_file("/etc/hiera/hiera.conf") 
    hiera = Hiera.new(:config => config) 

    hiera.lookup("#{key}", default, scope, order_override, resolution_type) 
end 

設置config[:logger]關鍵「空操作」完全壓制來自hiera輸出。

+0

最近我看了一下,如果你把hiera.yaml中的logger改爲noop,那麼它也會這樣做,而不必更改源文件。 – lsd 2015-03-24 17:47:04

+0

確實如此 - 但是,對於我的用例,我需要保持現有的:logger原樣並在運行時修改輸出(這在Capistrano中使用)。列出的代碼示例不是源代碼,它是我的deploy.rb – Andrew 2015-03-25 05:33:19

+0

中的幫助器方法啊,這也是我一直在尋找的。很高興知道。 – lsd 2015-03-26 18:11:04