ログ・ハンドラーは、ログ・レコード・オブジェクトを、ログ・ファイル、ソケット、および通知メカニ ズムなどの出力装置に書き込みます。
ロガーは、付加されたハンドラーを持たないことも、1 つ以上持つこともできます。 ハンドラーが指定された場合、ロガーに記録されたすべてのオブジェクトは、 付加されたハンドラーに渡されます。
ハンドラーは、レベルを指定して構成することができます。 ハンドラーは、ログに記録されたオブジェクトに指定したレベルを、 ハンドラー指定したレベルと比較します。 ログに記録されたオブジェクトのレベルの重大度が、 ハンドラーに設定したレベルより小さい場合、 このオブジェクトはハンドラーによって無視されます。 ハンドラーのデフォルトのレベルは、「ALL」です。
ハンドラーは、フィルターを持つことができます。 フィルターが指定された場合、 フィルターは着信オブジェクトごとに起動され、 着信オブジェクトを無視するか否かをハンドラーに知らせます。
ハンドラーは、フォーマッターを持つことができ ます。 フォーマッターが指定された場合、 フォーマッターは、ログに記録されたオブジェクトをどのようにフォーマットするかを制御します。 例えば、フォーマッターは、最初にタイム・スタンプ、 その後に、レベルのストリング表記、 その後に、記録されたオブジェクトに組み込むメッセージを組み込むことを決定できます。 ハンドラーは、このフォーマット済みの表記を出力装置に書き込みます。アプリケーションでのカスタム・フォーマッターの使用法について詳しくは、例: java.util.logging を使用したカスタム・フォーマッターの作成 を参照してください。
ロガーとハンドラーは両方とも、レベルとフィルターを持つことができ、 記録されたオブジェクトは、出力するためにこれらの要素すべてを渡さなければなりません。 例えば、ロガー・レベルを FINE に設定することができますが、 ハンドラー・レベルが WARNING に設定されている場合は、 WARNING レベルのメッセージのみがそのハンドラーの出力に表示されます。 逆に、ログ・ハンドラーがすべてのメッセージを出力するように設定されていても (level=All)、 ロガー・レベルが WARNING に設定されている場合、 ロガーはログ・ハンドラーに WARNING より低いメッセージを決して送信しません。