2017-11-10 8 views
0

私はRails 4アプリを持っています。私のdevelopment.rb設定ファイルには、 config.log_level =:infoがあります。Rails 4サービスのロガーレベルが間違っています

アプリのほとんどは、情報レベルのメッセージだけを表示しています。クエリメッセージも消えてしまいます。これは問題ありません。

しかし、libフォルダにいくつかのサービスがあります。彼らにとっては、環境ログレベルを取得していないようです。

@logger = Logger.new(Rails.root.join("log", APP_CONFIG['LOG_FILE'])) 
    if @logger.debug? 
     @logger.info "Logger level = debug" 
    else 
     @logger.info "Logger level > debug" 
    end 

出力:

I, [2017-11-10T20:50:51.189067 #36138] INFO -- : Logger level = debug 

私は何をしないのですこれは、コードのですか?

+0

がこの回答を参照してください:あなたが見ることを期待しているもの(と思う)になるはずであるLogger#debugを呼び出す

https://stackoverflow.com/a/2980635/382982 – pdoherty926

+0

はい、ではなく理解溶液100%。私は最初のアプローチを使っていると思いますが、libのロガーがproduction.rbファイル(config.log_level =:info)の設定を取得していないように見えます。 – Rober

答えて

0

.infoメソッドを呼び出すと、ログエントリにINFOというタグが付けられます。

@logger = Logger.new(Rails.root.join("log", APP_CONFIG['LOG_FILE'])) 
if @logger.debug? 
    @logger.debug "Logger level = debug" # => I, [...] DEBUG -- : Logger level = debug 
else 
    @logger.info "Logger level > debug" 
end 
+0

Nop。私は結果を表示するために情報を呼び出すだけです。しかし、ポイントは@ logger.debugですか? trueを返し、出力は次のようになります。Logger level = debug – Rober

関連する問題