0

使用できることがわかりました

Logger.setLevel(<level here>);

ロギングのレベルを設定するには (オフにする、オンにするなど)。ただし、ユーザーが指定したログ レベルに基づいて条件付きでログを記録する方法がわかりません。

要するに、ロギング API を使用するクラスがあります。クラスのユーザーがログレベルを自由に設定できるようにしたいと考えています。これはlog4jで行われましたが、ロギングAPIでは行われませんでした。

これに対するベストプラクティスはありますか? 私はちょうどいくつかの機能を持っている必要があります

setLogLevel()

ユーザーは Level.INFO などを渡すことができますか? それとももっと良い方法がありますか?

ありがとうございました!

4

2 に答える 2

4

この質問を正しく理解しているかどうかはわかりませんが、ロガーを呼び出すコードからログレベルを設定しないでください。ログの背後にある考え方は、開発者がすべてのメッセージを適切なレベルでログに記録するというものです。たとえば、DEBUG レベルで「xyz の計算を開始しました」、INFO レベルで「新しいユーザーが DB に設定されました」、ERROR レベルで「... から例外をキャッチしました」などです。ロガーは、ログ レベルが同じかそれ以上の場合にのみメッセージを出力します。ロギング レベルは、アプリケーションの外部から、環境に応じて設定する必要があります。たとえば、開発の場合は DEBUG、本番の場合は INFO です。

条件付きログは、メッセージの作成に時間がかかり、実際にログに記録しない限りログ メッセージを作成したくない場合に便利です (このリンクを確認してください)。java.util.logging のロガーが特定のレベルで実際にログを記録することを確認したい場合は、このメソッドを使用できます。

于 2013-10-14T15:05:22.140 に答える