私はたくさんログを記録したいです。機能性と方法のログを分離する方法ルビメソッドの機能とログを切り離す方法
def my_method(argument1:, argument2:)
logger.info "Starting my_method with arguments: #{argument1} and #{argument2}"
result = argument1 + argument2
logger.info "Finished my_method with result: #{result}"
end
:私のRailsアプリでは私のようなメソッドをたくさん持っていますか?。 (それは、より読みやすいですが、私はこれはコードの行の点ではあまり効率的である知っている
before_method: :my_method_log_start, only: :my_method
after_method: :my_method_log_end, only: :my_method
def my_method(argument1:, argument2:)
result = argument1 + argument2
end
private
def my_method_log_start
logger.info "Starting my_method with arguments: #{argument1} and #{argument2}"
end
def my_method_log_end
logger.info "Finished my_method with result: #{result}"
end
:
理想的には、結果はこのようなもの(単なる一例としてのRailsからのコールバックの概念を借用し)になります私の考えでは)。
私はAspect Orient ProgrammingとAquariusのようないくつかの宝石について読んだことがありますが、ロギングのためだけに新しいパラダイムを追加するには余計に思えます。
ある[パフォーマンス・オーバーヘッド](http://guides.rubyonrails.org/debugging_rails_applications.html#impact-of-logs-on-performance):だから、そのような何かを書くことができますログステートメントの束 - 私はあなたがデバッガを使用する方法や、貧弱なテクニックのための松葉杖としてログに頼る代わりにテストを書く方法を学ぶことをお勧めします。 – max