What's 'logger', really

Hi, I don't understand how we can just call 'logger' from any method,

You can't call it from any method. ActionController::Base,
ActiveRecord::Base and a few others have accessors called logger that
returns a Logger object
so whenever you're in an instance method of an ActiveRecord::Base
subclass you can call it (class methods too - the accessor is defined
on those classes as well). If the object you're writing a method for
doesn't have a logger method then you can't call logger, if it does
you can.


Rails also stores a Logger object in RAILS_DEFAULT_LOGGER, so you can
for instance get access to it in testing by including something this
simple in /test/test_helper.rb:

def logger

There may be far better ways to find why tests fail, but tossing in

logger.info("wonky_var value: #{wonky_var}")

calls in unit/functional tests and watching what shows up in /log/
test.log is pretty useful.

i find I cant send to logger in production mode
if I am running a script/runner on a model method.

Works in development mode, must be a reason for this although I cant
figure it

Output just seems to go nowhere