コンテキストを使用することをお勧めしますが、独自のフォーマッターを使用することもできます(Log4rフォーマッターを参照) 。
logger = Logger.new 'test'
outputter = Outputter.stdout
outputter.formatter = PatternFormatter.new(:pattern => "%l - kittens - %m")
logger.outputters = outputter
logger.info 'adorable' # => INFO - kittens - adorable
または、実際には、私のアドバイスを参照したいので、実際には次self.class
のように機能するロギングモジュールを作成します。
module Logging
def logger
return @logger if @logger
@logger = Logger.new 'test'
outputter = Outputter.stdout
outputter.formatter = PatternFormatter.new(:pattern => "%l - #{self.class} - %m")
@logger.outputters = outputter
@logger
end
end
class HasLogging
include Logging
def test
logger.info 'adorable'
end
end
test = HasLogging.new
test.test # => INFO - HasLogging - adorable
おそらくそのようには正確ではありませんが、あなたはその考えを理解します。