RE: Re: Logging within a ruby_block


#1

Does the logging show up in the log files? I had a very similar issue recently, and found that the logging did not show up on stdout, but was logged in the Chef log file.

Kevin Keane

The NetTech

http://www.4nettech.com

Our values: Privacy, Liberty, Justice

See https://www.4nettech.com/corp/the-nettech-values.html

-----Original message-----
From: Mark Selby mselby@thenextbigsound.com
Sent: Friday 6th March 2015 12:26
To: Lamont Granquist lamont@chef.io
Cc: chef@lists.opscode.com
Subject: [chef] Re: Logging within a ruby_block

I can confirm that running chef-client with -l info or -l debug still does not produce the requested logs. I am pretty sure that I have to do somethint special to get logging inside a ruby_block to work

On Fri, Mar 6, 2015 at 12:10 PM, Lamont Granquist <lamont@chef.io mailto:lamont@chef.io > wrote:

:info and :debug are suppressed by default, if you do ‘chef-client -l info’ do you see your log message?

On 3/6/15 12:07 PM, Mark Selby wrote:

I have searched the interwebs and have not found the answer that I am looking for so hopefully someone where has solved my problem

I want to log stuff using chef log levels when inside a ruby_block. The BELOW DOES NOT WORK

ruby_block “ruby_block_thing” do

block do

  foo = my_method

  if foo.sucess?

    Chef::Log.info("sucessfully ran my_method")

    Chef::Log.debug("my_method said #{foo.response}")

  end

end

action :run

end

Any know the “correct” way to log stuff within a ruby block. I am hoping that using puts is not the best answer.

As you can see here I want to output different thing based on different log level.


#2

You are 100% correct - looks like a small bug with the stdout formatter. I
guess I can file a bug with the client team. Thanks for pointing this out.

On Fri, Mar 6, 2015 at 1:31 PM, Kevin Keane Subscription <
subscription@kkeane.com> wrote:

Does the logging show up in the log files? I had a very similar issue
recently, and found that the logging did not show up on stdout, but was
logged in the Chef log file.

Kevin Keane

The NetTech

http://www.4nettech.com

Our values: Privacy, Liberty, Justice

See https://www.4nettech.com/corp/the-nettech-values.html

-----Original message-----
From: Mark Selby mselby@thenextbigsound.com
Sent: Friday 6th March 2015 12:26
To: Lamont Granquist lamont@chef.io
Cc: chef@lists.opscode.com
Subject: [chef] Re: Logging within a ruby_block

I can confirm that running chef-client with -l info or -l debug still does
not produce the requested logs. I am pretty sure that I have to do
somethint special to get logging inside a ruby_block to work

On Fri, Mar 6, 2015 at 12:10 PM, Lamont Granquist lamont@chef.io wrote:

:info and :debug are suppressed by default, if you do ‘chef-client -l
info’ do you see your log message?

On 3/6/15 12:07 PM, Mark Selby wrote:

I have searched the interwebs and have not found the answer that I am
looking for so hopefully someone where has solved my problem

I want to log stuff using chef log levels when inside a ruby_block. The
BELOW DOES NOT WORK

ruby_block “ruby_block_thing” do
block do
foo = my_method
if foo.sucess?
Chef::Log.info(“sucessfully ran my_method”)
Chef::Log.debug(“my_method said #{foo.response}”)
end
end
action :run
end

Any know the “correct” way to log stuff within a ruby block. I am
hoping that using puts is not the best answer.

As you can see here I want to output different thing based on different
log level.