When you’re living in the Active* world of Rails (ActiveRecord, ActionController, etc.) you always have access to the ubiquitous logger method. But step outside and you’re stuck dealing with the awkward, and uncomfortable RAILS_DEFAULT_LOGGER global. Often time’s I find myself taking one or both of the following approaches depending on the class I’m writing.
class MadeUp
class << self
def logger
RAILS_DEFAULT_LOGGER
end
end
def logger
RAILS_DEFAULT_LOGGER
end
end
Now I know, neither of the methods are complex or long, but how often do you want to type that same handful of lines (and doesn't it just make your code ugly)? Enter my latest and greatest contribution to the world: Loggable.
module Loggable
module ClassMethods
def logger
RAILS_DEFAULT_LOGGER
end
end
module InstanceMethods
def logger
RAILS_DEFAULT_LOGGER
end
end
def self.included(receiver)
receiver.extend ClassMethods
receiver.send :include, InstanceMethods
end
end
Object.send :include, Loggable
Remember to require it somewhere in your code.
This entry was posted
on Thursday, May 22nd, 2008 at 7:00 pm and is filed under Code.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.

Leave a Comment