ときどき、次のようなコードに出くわします。
private final Logger log = LoggerFactory.getLogger(MyClass.class);
slf4jこれがロガーオブジェクトであるとしましょう。Apache Commons Loggingを使用している場合は、Logではなくクラスが呼び出されLoggerます。
私はこの問題を少し考えており、以下の 2 つのオプションについていくつかの長所と短所を挙げています。
logger代わりに使用する理由log
- 目的: ログ自体ではなく、ログのライターです。
- 誤解を招く:
logログから読み取ることができないため、本質的に誤解を招く名前です。
log代わりに使用する理由logger
- メソッド呼び出しの読みやすさ : Logger で使用できるメソッドには、通常、 などの名前が付けられ
info()ますerror()。そのためlog.error()、「log this error」のように大声で発声されたコマンドに似たものになりますが、どのように聞こえるlogger.error()かは言うまでもなく、ロガー自体のエラーを報告しているように見えます。logger.debug()
それで、今質問です。その厄介な Logger に名前を付けるための 3 番目のオプションはありますか? プロジェクトで何を使用し、その理由は何ですか?