2016-05-23 5 views
1

fluentdを使ってRailsログをコレクタに送るように設定しようとしています。私はact-fluent-logger-rails、lograge、およびfluent-plugin-parser gemを使用しています。私のサイトをナビゲートすると、GETとPOSTのリクエストは一致、解析、タグ付けされ、コレクタに正しく送信されますが、Rails.loggerを介してリクエスト中にログに記録するものは得られません。タグがありません。私のTD-agent.logに、次の中Rails.logger文に流暢タグがありません

irb(main):003:0> logger.info("Test")

結果:

2016-05-23 20:01:45 +0000 [warn]: pattern not match with data 'Test' 2016-05-23 20:01:45 +0000 fluent.warn: {"message":"pattern not match with data 'Test'"}

関連する構成:

アプリのレールコンソールで例えば

/etc/td-agent/td-agent.conf

<match tv.app> 
     @type forward 

     # primary host 
     <server> 
     host 10.0.0.0 
     port 24224 
     </server> 

     flush_interval 60s 
    </match> 

    <match rails.app> 
     @type parser 
     key_name messages 
     format json 
     tag tv.app 
    </match> 

のconfig/application.rb

config.logger = ActFluentLoggerRails::Logger. 
      new(settings: { 
       host: '127.0.0.1', 
       port: 24224, 
       tag: 'rails.app', 
       messages_type: 'string' 
      }) 
config.lograge.enabled = true 
config.lograge.formatter = Lograge::Formatters::Json.new 

誰もが私が間違ってやっている任意のアイデアがありますか?

答えて

0

あなたはlogrageフォーマッタをJSONに設定しており、fluentd.confにもJSONが指定されています。 ただし、コンソールからのコードは文字列です。

あなたは

logger.info({:test => true}.to_json) 
を試してみました
関連する問題