From cb2466f623ee5159b32a9b8deb0a7cd17e1f2462 Mon Sep 17 00:00:00 2001 From: Mischa Taylor Date: Sun, 8 Feb 2026 16:19:33 -0500 Subject: [PATCH 1/3] Only output handler tracing when in debug mode --- .../files/config/attribute_changed_handler.rb | 11 ++++++----- cookbooks/boxcutter_ohai/recipes/default.rb | 11 +++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cookbooks/boxcutter_chef/files/config/attribute_changed_handler.rb b/cookbooks/boxcutter_chef/files/config/attribute_changed_handler.rb index 1194b444..5ad808f4 100644 --- a/cookbooks/boxcutter_chef/files/config/attribute_changed_handler.rb +++ b/cookbooks/boxcutter_chef/files/config/attribute_changed_handler.rb @@ -10,19 +10,20 @@ # chefctl -ivd -- --log_level trace Chef.event_handler do on :attribute_changed do |precedence, key, value| + # Do absolutely nothing unless debug logging is enabled + next unless Chef::Log.debug? + # Skip attributes coming from ohai next if precedence == :automatic + Chef::Log.debug("Attributes changed:") + frame = caller.find { |line| line.include?('cookbooks/') } # Example Entry # /etc/cinc/local-mode-cache/cache/cookbooks/fb_apt/resources/sources_list.rb:79:in 'block class_from_file' filename, line_number = frame.split(':') location = "#{filename}:#{line_number}" - puts( - "attribute_changed: key: #{key}, value: #{value}, precedence: #{precedence} at #{location}", - ) - # Trying out improved form - puts( + Chef::Log.debug( "- node.#{precedence}#{key.map { |n| "[\"#{n}\"]" }.join} = #{value} at #{location}", ) end diff --git a/cookbooks/boxcutter_ohai/recipes/default.rb b/cookbooks/boxcutter_ohai/recipes/default.rb index 5bcc0cad..e5a0cfec 100644 --- a/cookbooks/boxcutter_ohai/recipes/default.rb +++ b/cookbooks/boxcutter_ohai/recipes/default.rb @@ -41,14 +41,13 @@ on :run_completed do if resource_updates.empty? - # Chef::Log.info('NEW: No resources updated.') - puts('No resources updated.') + Chef::Log.debug('No resources updated.') else - # Chef::Log.info("NEW: Updated #{resource_updates.size} resource(s):") - puts("Updated #{resource_updates.size} resource(s):") + Chef::Log.debug("Updated #{resource_updates.size} resource(s):") resource_updates.each do |r| - # Chef::Log.info("NEW: - #{r[:name]} (#{r[:cookbook]}::#{r[:recipe]} line #{r[:line]}) via :#{r[:action]}") - puts("- #{r[:name]} (#{r[:cookbook]}::#{r[:recipe]} line #{r[:line]}) via :#{r[:action]}") + Chef::Log.debug( + "- #{r[:name]} (#{r[:cookbook]}::#{r[:recipe]} line #{r[:line]}) via :#{r[:action]}" + ) end end end From e4a0a0c823e58ca22e3cbe25862fd7711bdecc3f Mon Sep 17 00:00:00 2001 From: Mischa Taylor Date: Sun, 8 Feb 2026 16:28:39 -0500 Subject: [PATCH 2/3] Make lintastic --- cookbooks/boxcutter_ohai/recipes/default.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cookbooks/boxcutter_ohai/recipes/default.rb b/cookbooks/boxcutter_ohai/recipes/default.rb index e5a0cfec..a69b51ca 100644 --- a/cookbooks/boxcutter_ohai/recipes/default.rb +++ b/cookbooks/boxcutter_ohai/recipes/default.rb @@ -46,7 +46,7 @@ Chef::Log.debug("Updated #{resource_updates.size} resource(s):") resource_updates.each do |r| Chef::Log.debug( - "- #{r[:name]} (#{r[:cookbook]}::#{r[:recipe]} line #{r[:line]}) via :#{r[:action]}" + "- #{r[:name]} (#{r[:cookbook]}::#{r[:recipe]} line #{r[:line]}) via :#{r[:action]}", ) end end From f1c839e38006cf8e4f82b11916b7abad2ddb5f23 Mon Sep 17 00:00:00 2001 From: Mischa Taylor Date: Sun, 8 Feb 2026 16:40:51 -0500 Subject: [PATCH 3/3] Make lintastic --- .../boxcutter_chef/files/config/attribute_changed_handler.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cookbooks/boxcutter_chef/files/config/attribute_changed_handler.rb b/cookbooks/boxcutter_chef/files/config/attribute_changed_handler.rb index 5ad808f4..cb3cb0a1 100644 --- a/cookbooks/boxcutter_chef/files/config/attribute_changed_handler.rb +++ b/cookbooks/boxcutter_chef/files/config/attribute_changed_handler.rb @@ -16,7 +16,7 @@ # Skip attributes coming from ohai next if precedence == :automatic - Chef::Log.debug("Attributes changed:") + Chef::Log.debug('Attributes changed:') frame = caller.find { |line| line.include?('cookbooks/') } # Example Entry