Rails 3.2 Logger

I read the Rails doc about Tagged logger, it seems great , but I am missing some stuff :

  • where should I define the Logger class :

Logger = ActiveSupport::TaggedLogging.new( File.join(Rails.root, “log”, "new_logger_#{Rails.env}.log)

  • is it possible to define multiple Logger classes to output into different log files ?

LoggerA = ActiveSupport::TaggedLogging.new( File.join(Rails.root, “log”, "new_logger_A_#{Rails.env}.log)

LoggerB = ActiveSupport::TaggedLogging.new( File.join(Rails.root, “log”, "new_logger_B_#{Rails.env}.log)

thanks for feedback

I can use the standard buffer class :

MyBufferedLogger = ActiveSupport::BufferedLogger.new(Rails.root.join(‘log/my_buffered.log’))

MyBufferedLogger.info “Hello World!” # => OK

but I cannot do it using the TaggedLogging buffer class

MyTaggedLogger = ActiveSupport::TaggedLogging.new(Rails.root.join(‘log/my_tagged.log’))

MyTaggedLogger.tagged(“BCX”) { MyTaggedLogger.info “Hello World!” } # error

NoMethodError: undefined method `add’ for #Pathname:/Users/yves/github/local/yoogroop/log/my_tagged.log

I guess I a wrong somewhere …

thanks for feedback

[SOLVED] in doc : TaggedLogging is a wrapper …


MyTaggedLogger = ActiveSupport::BufferedLogger.new(Rails.root.join(‘log/my_tagged.log’))

MyTaggedLogger = ActiveSupport::TaggedLogging.new(MyTaggedLogger)


MyTaggedLogger.tagged(“BCX”) { MyTaggedLogger.info “Hello World!” } # OK