1

django / python から移動して、rails logger で必要なすべての情報をログに記録するのに少し問題があります。どのように/以下を達成できるかどうか疑問に思っています:

  1. ログ形式 (ter) には、ログ ステートメント自体が見つかった特定のファイル、関数名、および行が含まれます。基本的LOG_MSG_FORMAT = '%(asctime)s %(levelname)s %(filename)s:%(funcName)s(%(lineno)d) : %(message)s'にpythonロガーと同等ですか?
  2. django request logging middlewareに似たものを介して、すべてのリクエストをログに記録できます。特に、すべてのリクエストのユーザー名(ログインしている場合) をログに記録できること。

明らかな何かが欠けていますか?または、これには (大量の) カスタム コードが必要ですか?

4

3 に答える 3

1

ユーザー名をログに追加するには「カスタムコード」が必要だと思いますが、役立つかもしれないこのrailtie gemを見つけました。特定のコントローラとモデルのロギングについては、Readme セクションを参照してください。

ロギングレールレールタイ

于 2012-07-20T16:10:55.487 に答える
1

ファイル、関数、および行番号の取得についてはわかりませんが、application_controller からログを記録するのは非常に簡単です。

class ApplicationController < ActionController::Base
  before_filter :log_user
  def log_user
    if current_user
      Rails.logger.info "Processing Request for #{current_user.name}"
    end
  end
end
于 2012-07-20T16:17:24.053 に答える
1

これが誰かにとって役立つ場合に備えて、簡単なメモを追加するだけです:

lograge gemは、railsのログを django のログに非常に似たものにし、リモート IP アドレスや current_user などのパラメーターを追加して、非常にうまくカスタマイズできます。

また、レンダリングされたレイアウトの冗長性も軽減されますが、これは生産には不要でした。また、@lukewendling によって言及されたlogging-rails railtieとうまく連携します。

悲しいことに、django で簡単に実行できるように、ファイル/関数/行番号を示すものはまだ見つかりませんでしたが、それはあまりにも多すぎると思います。

于 2012-10-20T22:21:17.593 に答える