このセクションでは、個々のエラーログコンポーネントの特性について説明します。 エラーロギングの構成に関する一般情報は、セクション5.4.2「エラーログ」 を参照してください。
ログコンポーネントには、フィルタまたはシンクを指定できます:
フィルタは、ログイベントを処理し、イベントフィールドを追加、削除または変更したり、イベント全体を削除します。 結果のイベントは、有効なコンポーネントのリスト内の次のログコンポーネントに渡されます。
シンクは、ログイベントの宛先 (ライター) です。 通常、シンクはログイベントを特定の形式のログメッセージに処理し、これらのメッセージをファイルやシステムログなどの関連出力に書き込みます。 シンクは、パフォーマンススキーマ
error_log
テーブルに書き込むこともできます。セクション27.12.19.1「error_log テーブル」 を参照してください。 イベントは、有効なコンポーネントのリスト内の次のログコンポーネントに未変更で渡されます (つまり、シンクはイベントをフォーマットして出力メッセージを生成しますが、イベントは次のコンポーネントに内部的に渡されるため変更されません)。
log_error_services
システム変数値には、有効なログコンポーネントがリストされます。 リストに指定されていないコンポーネントは無効になります。
次の各セクションでは、コンポーネントタイプ別にグループ化された個々のログコンポーネントについて説明します:
コンポーネントの説明には、次のタイプの情報が含まれます:
コンポーネント名と目的。
コンポーネントが組み込まれているか、ロードする必要があるか。 ロード可能なコンポーネントの場合、説明には、
INSTALL COMPONENT
およびUNINSTALL COMPONENT
ステートメントを使用してコンポーネントをロードおよびアンロードするために使用する URN を指定します。コンポーネントを
log_error_services
値に複数回リストできるかどうか。シンクコンポーネントの場合、コンポーネントが出力を書き込む宛先。
シンクコンポーネントの場合、パフォーマンススキーマ
error_log
テーブルへのインタフェースをサポートするかどうか。
エラーログフィルタコンポーネントは、エラーログイベントのフィルタリングを実装します。 フィルタコンポーネントが有効になっていない場合、フィルタリングは行われません。
有効なフィルタコンポーネントは、log_error_services
値の後半にリストされているコンポーネントのログイベントにのみ影響します。 特に、フィルタコンポーネントより前の log_error_services
にリストされているログシンクコンポーネントでは、ログイベントのフィルタリングは行われません。
log_filter_internal コンポーネント
目的:
log_error_verbosity
およびlog_error_suppression_list
システム変数と組み合せて、ログイベントの優先度およびエラーコードに基づいてフィルタリングを実装します。 セクション5.4.2.5「優先度ベースのエラーログのフィルタリング (log_filter_internal)」を参照してください。URN: このコンポーネントは組み込まれており、使用する前に
INSTALL COMPONENT
とともにロードする必要はありません。複数使用の許可: No.
log_filter_internal
が無効になっている場合、log_error_verbosity
および log_error_suppression_list
は無効になります。
log_filter_dragnet コンポーネント
目的:
dragnet.log_error_filter_rules
システム変数設定で定義されたルールに基づいてフィルタリングを実装します。 セクション5.4.2.6「ルールベースのエラーログのフィルタリング (log_filter_dragnet)」を参照してください。URN:
file://component_log_filter_dragnet
複数使用の許可: No.
エラーログシンクコンポーネントは、エラーログ出力を実装するライターです。 シンクコンポーネントが有効になっていない場合、ログ出力は発生しません。
シンクコンポーネントの説明の中には、デフォルトのエラーログの宛先を参照するものがあります。 これはコンソールまたはファイルであり、セクション5.4.2.2「デフォルトのエラーログ保存先の構成」 で説明されているように、log_error
システム変数の値によって示されます。
log_sink_internal コンポーネント
目的: 従来のエラーログメッセージ出力形式を実装します。
URN: このコンポーネントは組み込まれており、使用する前に
INSTALL COMPONENT
とともにロードする必要はありません。複数使用の許可: No.
出力先: デフォルトのエラーログの宛先に書き込みます。
パフォーマンススキーマのサポート:
error_log
テーブルに書き込みます。 以前のサーバーインスタンスによって作成されたエラーログファイルを読み取るためのパーサーを提供します。
log_sink_json コンポーネント
目的: JSON 形式のエラーロギングを実装します。 セクション5.4.2.7「JSON 形式でのエラーロギング」を参照してください。
URN:
file://component_log_sink_json
複数使用の許可: Yes.
-
出力先: このシンクは、
log_error
システム変数で指定されたデフォルトのエラーログの宛先に基づいて出力先を決定します:log_error
がファイルに名前を付ける場合、シンクはそのファイル名に加えて、NN
が 00 から始まる番号付き.
接尾辞に基づいて出力ファイルの名前を付けます。 たとえば、NN
.jsonlog_error
がfile_name
の場合、log_error_services
値で指定されたlog_sink_json
の連続するインスタンスはfile_name
.00.jsonfile_name
.01.jsonlog_error
がstderr
の場合、シンクはコンソールに書き込みます。log_sink_json
の名前がlog_error_services
値で複数回指定されている場合は、コンソールに書き込まれるため、役に立たない可能性があります。
パフォーマンススキーマのサポート:
error_log
テーブルに書き込みます。 以前のサーバーインスタンスによって作成されたエラーログファイルを読み取るためのパーサーを提供します。
log_sink_syseventlog コンポーネント
目的: エラーロギングをシステムログに実装します。 これは、Windows ではイベントログ、Unix および Unix に似たシステムでは
syslog
です。 セクション5.4.2.8「システムログへのエラーロギング」を参照してください。URN:
file://component_log_sink_syseventlog
複数使用の許可: No.
出力先: システムログに書き込みます。 デフォルトのエラーログの保存先は使用しません。
パフォーマンススキーマのサポート:
error_log
テーブルには書き込まれません。 以前のサーバーインスタンスによって作成されたエラーログファイルを読み取るパーサーを提供しません。
log_sink_test コンポーネント
目的: 本番での使用ではなく、テストケースの記述での内部使用を目的としています。
URN:
file://component_log_sink_test
複数使用が許可されているかどうかや、出力先が log_sink_test
に指定されていないかどうかなどのシンクプロパティ。これは、前述のように内部使用のためです。 そのため、その動作はいつでも変更される可能性があります。