5

Rails 構成ファイルで、次のように設定できます。

config.log_level = :debug
config.log_tags = [:uuid, lambda { |req| Time.now } ]

ただし、これは Rails.logger を使用している場合にのみ機能します。カスタムのタグ付きロガーを作成できることは知っています。ただし、構文は少し冗長です。

logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT))
logger.tagged("BCX") { Logger.info "Stuff" }  

とにかくlog_tagsでカスタムロガーを設定できるので、毎回使用するタグを指定する必要はありませんか? このためのカスタムクラスを作成できると確信していますが、これを行うための組み込みの方法はありますか? ありがとう!

4

1 に答える 1

-2

この要点のおかげで、私はそれを理解することができました: https ://gist.github.com/1278448

フォーマットされたロガーを使用する必要はなく、ロガーをサブクラス化する必要があります。

class NepcoLogger < Logger
  def format_message(severity, timestamp, progname, msg)
    "#{timestamp.to_formatted_s(:db)} #{severity} #{msg}\n"
  end 
end
于 2013-01-25T20:03:46.060 に答える