0

さまざまなデバッグ コードとカスタマイズされたコンソールへのログが散りばめられた Rails プロジェクトがあります。

たとえば、多くは次のような形式を取ります。

CustomLogger.debug("TYPE", "My Message = " + some_variable.inspect)

バックエンドでは、ログに書き込み、ログ ファイルを追跡してコンソールを監視するか、パッケージ化して特別な UI に表示することもできます。しかし、これをまき散らすのは面倒なようで、開発コンテキストでのみ必要です。実稼働環境にリリースするときに、このようなコードを動的に削除するためのベスト プラクティスはありますか。私は、C のようなプリプロセッサ マクロの方法で何かを探しています。この共通のボイラープレートがソースにあるもの。ただし、特定の環境では削除されます。

おそらく、役立つメタプログラミング手法がいくつかありますか?

私は本当にグローバルにオンとオフを切り替えたいと思っていますが、繰り返しコメントアウトする必要もありません。

たぶん私はそれを間違っているだけかもしれませんが、穴居人のデバッグは私には理にかなっているようです。欠点は、デバッグ コードの作成に多くの時間を費やしているように見えることです。

4

1 に答える 1

1

config/environment/production.rbファイルに、次のようなものを追加します

config.log_level = :info

:debugこれにより、本番環境ではレベルのログ エントリが無視されます。

推奨される読書: http://guides.rubyonrails.org/debugging_rails_applications.html#log-levels

于 2012-11-26T23:15:28.187 に答える