8

マイレールロガーの設定は、現在、このように、現在の時刻とUUIDをログに記録します。railsタグ付きロギングを使用すると、メッセージのログレベルをどのように記録できますか?

config.logger = ActiveSupport::TaggedLogging.new(Logger.new("#{Rails.root}/log/#{ENV['RAILS_ENV']}.log", 'daily')) 
config.log_tags = [Proc.new {Time.now.strftime('%Y-%m-%d %H:%M:%S.%L')}, :uuid] 

も現在のメッセージのログレベルをログに記録する方法はありますか?

つまり、logger.debugを呼び出すと、タグ[DEBUG]がメッセージに追加されます。

答えて

8

Railscasts SimpleFormatter#呼び出しメソッドをオーバーライドして出力するログメッセージの重大度をロガーを無効にする方法を示しています。

class Logger::SimpleFormatter 
    def call(severity, time, progname, msg) 
    "[#{severity}] #{msg}\n" 
    end 
end 

は詳細についてはhttp://railscasts.com/episodes/56-the-logger-revisedを参照してください。

-4

ログタグにMyApp :: Application.config.log_levelを追加してくれました。

config.log_tags = [Proc.new {Time.now.strftime('%Y-%m-%d %H:%M:%S.%L')}, :uuid, Proc.new {MyApp::Application.config.log_level}] 
+6

私が理解する限り、それは個々のメッセージのログレベルではなく、アプリケーション用に定義された最小ログレベルです。 – Ovesh

関連する問題