1. ホーム
  2. java

[解決済み] javaでログレベルを使用するには

2022-03-12 21:55:21

質問

アプリケーションを開発中で、ロガー機能を使用する必要があります。私は、ロガーのさまざまなレベルについて読んだことがあります。

  • SEVERE (最高)
  • 警告
  • インフォメーション
  • コンフィグ
  • ファイン
  • より良い
  • ファイネスト

各ロギングレベルの使い方がよくわかりません。

どなたか、すべてのロギングレベルとその使用方法を示す良い例を教えてください。

どのように解決するのですか?

一般に、これらのレベルはすべて必要ではなく、SEVERE, WARNING, INFO, FINEで十分です。私たちはLog4J(java.util.loggingを直接使用しない)と以下のレベル(他のロギングフレームワークと名前が異なるかもしれません)を使用しています。

  • ERROR。重要なエラーや例外。当社のロガーは、当社のサーバーでこのようなメッセージが発生するたびに、自動的に電子メールを送信します (使用方法。 logger.error("message"); )

  • WARN。潜在的な問題を警告するメッセージ。たとえば、ユーザーが間違った認証情報でログインしようとした場合、それが頻繁に起こるか、短期間で起こる場合は、攻撃を示唆する可能性があります (使用法)。 logger.warn("message"); )

  • INFO: ログファイルを見る際に知りたいこと、例えばスケジュールされたジョブがいつ開始/終了したか(使い方。 logger.info("message"); )

  • DEBUG。その名の通り、まれにしかオンにしないデバッグメッセージ。(使用法 logger.debug("message"); )

この優れた点は、ログレベルをWARNに設定した場合、情報およびデバッグメッセージはパフォーマンスにほとんど影響を与えないということです。もし、実稼働中のシステムから追加情報を得る必要がある場合は、短期間だけINFOやDEBUGにレベルを下げることができます(ログファイルが大きくなり読みづらくなるため、より多くのログエントリーを取得することになります)。ログレベルなどの調整は、通常、実行時に行うことができます(私たちのJBossインスタンスは、1分ほどごとにその設定の変更をチェックします)。