2017-01-13 12 views
1

大きなリストのオブジェクトが呼び出されるメソッドがあります。特定の基準に基づいて、フィルタリングされたオブジェクトのリストをフィルタリングして返します。現在、ログが記録される方法は、アイテムがフィルタリングされるたびにid(フィルタリングの理由)とともに記録されるということです。この結果、このIDは "このアイテムはこのIDのため削除されました"のようなログステートメントが複数(100件)表示されます。log.debugの中で計算をしてもかまいません

ログを読みやすくするために、削除したアイテムをlog.debug内のマップにidとともにプッシュしてから、return文の前に一緒にプリントすることを考えていました。これは容認できる取り決めですか?私にはlog.debugの乱用のように見えます。だから、

、効果的に、これは私のlog.debugは、私はここでそのMYMAPを追加するのを忘れ

log.debug("",() -> myMap.put(itemRemoved, id)); 

のようになります方法ですが/製品コードに慣れるつもりになっていません。これは単にログを記録するためのものです。

+0

誰かがあなたのコードを正しく読まずに 'log.debug'行をコメントアウトするまで、 –

+0

書いてくれてありがとう。だから、これはあなたによれば受け入れられますか? – Andy897

+2

いいえ、反対側 –

答えて

1

一般に、私はログステートメントでは何もしません。理由は簡単です。

誰かがそれとロジックの一部を削除します(無用ログメッセージの多くのプロジェクトのために)特定のパターン

ですべての行を削除するスクリプトを書くことができます。

あなたの場合、このマップはデバッグ専用です。つまり、これは重要なデータではありません。しかし、将来的には、このマップを新しい機能のために使用するのが面白いかもしれません。不思議なことに、このマップはもう人口になっていないので、これはテストでうまく動作します。

この地図へのアクセスを制限してください。間違いを防ぐためにドキュメントを追加してください。

私の一般的な答えはではありませんログメソッドでset文を書きます。

関連する問題