ClassX::Role::Logger
ClassXなクラスにこいつをincludeしてやると、標準ライブラリのloggerがattributeとして使えるようになります。
require 'classx/role/logger' class YourApp include ClassX extends ClassX::Commandable include ClassX::Role::Logger def run self.logger.debug("debug!!") # do something end end
別のModuleでattributeを定義してそいつをClassXなクラスにMixinしてやるというのはそのクラスのattributeが何かわかりづらくなりがちですが、loggerみたいな定番のものだと、だいたい意味がわかるので、よいですね。
それからClassX::Commandableと合わせて使うと便利で、
$ your_app.rb --logfile log/debug.log --log_level debug
のように実行できます。