こんにちは、tahara です。
Rails で Fluentd へログ出力する act-fluent-logger-rails を Rails4 対応にしました。
いままで config.log_tags = [ :subdomain, :uuid ] 等を指定していても無視していましたが、 ようやくタグを付けられるようにしました。遅くなってごめんなさい。
config/environments/production.rb で次のように書きます。
Foo::Application.configure do # Use a different logger for distributed setups config.logger = ActFluentLoggerRails::Logger. new(log_tags: { ip: :ip, ua: :user_agent, uid: ->(request) { request.session[:uid] } }) end
config.log_tags は使わないでください。使うと動かないです。
また次のように実行時に任意のタグを付けられます。
Rails::logger[:foo] = "foo value"
development 環境では普通のロガーを使いたい場合は config/initializers/logger.rb でも作るといいと思います。
# -*- coding: utf-8 -*- # ActFluentLoggerRails::Logger を production の時だけ使うので # development 環境の場合にエラーにならないようにする。 ->(x) { unless x.respond_to?(:[]=) def x.[]=(k, v) debug("logger #{k} => #{v}") end def x.[](k) end end }.call(Rails::logger)
さて、弊社ではエンジニアを募集をしています。 まずはランチを食べながらお話だけでも!