Skip to main content

Chef Infra Language: Logging

Log Entries

Chef::Log will print log entries to the default logger that’s configured for the machine on which Chef Infra Client is running. (To create a log entry that’s built into the resource collection, use the log resource instead of Chef::Log.)

Supported log levels

Log LevelSyntax
FatalChef::Log.fatal('string')
ErrorChef::Log.error('string')
WarnChef::Log.warn('string')
InfoChef::Log.info('string')
DebugChef::Log.debug('string')

Examples

The following example shows a series of fatal Chef::Log entries:

unless node['splunk']['upgrade_enabled']  Chef::Log.fatal('The chef-splunk::upgrade recipe was added to the node,')  Chef::Log.fatal('but the attribute `node["splunk"]["upgrade_enabled"]` wasn\'t set.')  Chef::Log.fatal('I am bailing here so this node doesn\'t upgrade.')  raise end  service 'splunk_stop' do  service_name 'splunk'  supports status: true  action :stop end  if node['splunk']['is_server']  splunk_package = 'splunk'  url_type = 'server' else  splunk_package = 'splunkforwarder'  url_type = 'forwarder' end  splunk_installer splunk_package do  url node['splunk']['upgrade']["#{url_type}_url"] end  if node['splunk']['accept_license']  execute 'splunk-unattended-upgrade' do  command "#{splunk_cmd} start --accept-license --answer-yes"  end else  Chef::Log.fatal('You didn\'t accept the license (set node["splunk"]["accept_license"] to true)')  Chef::Log.fatal('Splunk is stopped and can\'t be restarted until the license is accepted!')  raise end 

The following example shows using multiple Chef::Log entry types:

...  begin  aws = Chef::DataBagItem.load(:aws, :main)  Chef::Log.info("Loaded AWS information from DataBagItem aws[#{aws['id']}]") rescue  Chef::Log.fatal("Couldn't find the 'main' item in the 'aws' data bag")  raise end  ... 
Edit this page on GitHub

Thank you for your feedback!

×