ログ
ログ
connector のログを取得しておくことで、エラーメッセージや想定外の振る舞いを診断する際に役立ちます。
基本的なログの記録
connector のログの取得を開始するには、次のプロパティを設定します。
- Logfile:ログファイルの名前と場所を指定するファイルパス。
- Verbosity:ログの詳細レベルを決定する数値(1-5)。5段階数値の説明については、「接続プロパティ」セクションのページを確認してください。
- MaxLogFileSize:サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成されます。リミットのデフォルトは100 MB です。100 kB より小さい値を設定した場合、100 kB がリミットとなります。
- MaxLogFileCount:ログファイルの最大ファイル数を指定する文字列。サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成され、最も古いログファイルが削除されます。サポートされる最低値は2です。0や負の値は、数に制限がないことを示します。
これらのプロパティを設定すると、認証が実行されたときやクエリが実行されたときなど、さまざまなタスクを実行する際に、connector がログファイルを生成します。指定したファイルが存在しない場合は作成されます。
ログのVerbosity レベル
Verbosity レベルはconnector がLogfile に記載する詳細レベルを指定します。1 から5 までのVerbosity レベルがサポートされています。以下のリストで各レベルについて説明します。
| 1 | Verbosity を1に設定すると、クエリ、返された行数、実行開始とかかった時間、エラーが記録されます。 |
| 2 | Verbosity を2に設定すると、Verbosity 1に含まれるすべて、キャッシュクエリ、およびリクエストに関する追加の情報が記録されます。 |
| 3 | Verbosity を3に設定すると、2 に加えてHTTP ヘッダーおよびリクエストとレスポンスの本文が記録されます。 |
| 4 | Verbosity を4に設定すると、3 に加えてデータソースとのトランスポートレベルの通信が記録されます。これには、SSL ネゴシエーションが含まれます。 |
| 5 | Verbosity を5に設定すると、データソースとのやり取りおよび問題のトラブルシューティングに役立つ追加情報も記録されます。これには、インターフェースコマンドが含まれます。 |
通常の実行では、Verbosity を2以上に設定しないでください。高い詳細レベルでは、大量のデータをログに記録することになり、実行に遅れが生じる恐れがあります。
特定の情報に関するカテゴリを表示または非表示にしてログ内容を調整するには、LogModules を参照してください。
センシティブデータ
Verbosity レベル3以上では、組織外で共有したくない情報をキャプチャする場合があります。以下に、各レベルで懸念される情報をリストします。- Verbosity 3:connector から返されるすべてのデータを含むリクエストとレスポンスのボディ
- Verbosity 4:SSL 証明書
- Verbosity 5:ヒューマンリーダブルでないバイナリ転送データなど、Verbosity 3には含まれていない追加の転送データ
Note: パスワードなどのセンシティブデータは、接続文字列やログ内のすべてのリクエストでマスクされますが、組織外で共有する前に機密情報がないかログを確認することをお勧めします。
Java のログ出力
Logfile で Java のロギングが有効になっている場合、Verbosity は以下のログレベルにマッピングされます。
- 0: Level.WARNING
- 1: Level.INFO
- 2: Level.CONFIG
- 3: Level.FINE
- 4: Level.FINER
- 5: Level.FINEST
高度なログの記録
ログファイルに記録される情報を、正確に絞り込みたい場合があるかもしれません。これは、LogModules プロパティを使用することで可能です。このプロパティを使えば、セミコロン区切りでリスト化されたログモジュールを使用してログ内容をフィルタできます。
プロパティ値の例:
LogModules=INFO;EXEC;SSL;SQL;META;
Verbosity 接続プロパティによるログファイルのフィルタリングは、この接続プロパティによるフィルタリングよりも優先されます。そのため、Verbosity 接続プロパティで指定したレベルよりも高い詳細レベルの操作は、この接続プロパティで指定したモジュールに属していても、ログファイルには出力されません。
次の表は、使用可能なロギングモジュールとサブモジュール、およびそれらのログが機密データを公開するリスクを示すセキュリティ分類を示しています。これらの分類はconnectorが意図するロギング動作を反映しており、ログを共有する際にどのモジュールを含めるかを判断する際に役立ちます。プロバイダー固有のコードによってモジュールの下に追加情報がログに記録される場合があるため、組織外にログを共有する前に必ずログの内容を確認してください。
- 安全: 内部イベント、ライフサイクル、プロトコルステータス、スキーマ、メタデータ。顧客データは含まれません。
- 注意: リテラル値を含むSQL、リクエストフィルター、または顧客データを間接的に公開する可能性がある引数値。
- 危険: 結果セット、レスポンスボディ、ペイロード、生のTCP データ、一括アップロード、またはその他の顧客データ。
| モジュール | サブモジュール | 分類 | 備考 |
| INFO | (モジュールレベル) | 安全 | 接続文字列がログに記録されます。パスワード、シークレット、トークンは編集(マスキング)されますが、ホスト名、ユーザー名、接続オプションは残ります。 |
| INFO | Connec | 安全 | 接続のライフサイクル。 |
| INFO | Messag | 安全 | ドライバー内部の情報。 |
| EXEC | Messag | 安全 | ドライバー内部の実行イベント。 |
| EXEC | Normlz | 注意 | リテラル値を保持したまま書き換え/正規化されたクエリ(例:WHERE Email = '[email protected]')。 |
| EXEC | Origin | 注意 | ユーザーが入力したそのままのSQL。クエリ内のリテラル値に個人情報(PII)が含まれる場合があります。 |
| EXEC | Page | 安全 | ページングに関するメタデータ。 |
| EXEC | Parsed | 注意 | リテラル値を含む解析済みSQL。 |
| HTTP | KERB | 注意 | Kerberos に関連するHTTP。認証トークンが含まれる可能性があります。 |
| HTTP | Messag | 安全 | ドライバー内部のHTTP。 |
| HTTP | Unpack | 危険 | 解凍されたAPI レスポンスはソースデータです。 |
| HTTP | Res | 危険 | レスポンスボディはソースデータです。 |
| HTTP | Req | 注意 | リクエストボディには、クエリフィルターまたはPOST 値が含まれる場合があります。 |
| WSDL | — | 安全 | WSDL/XSD の生成のみ。 |
| SSL | Certif | 安全 | 証明書のメタデータ。 |
| AUTH | Messag | 安全 | 認証に関するメッセージ。 |
| AUTH | OAuth | 安全 | OAuth フローに関するメッセージ。 |
| AUTH | Krbros | 安全 | Kerberos に関するメッセージ。 |
| SQL | Bulk | 安全 | 一括クエリ実行のステータス更新。 |
| SQL | Cache | 安全 | キャッシュデータの読み書きステータス。 |
| SQL | Messag | 安全 | ドライバー内部のSQL トランザクションイベント。 |
| SQL | ResSet | 安全 | 結果セットに関するメタデータ。 |
| SQL | Transc | 安全 | トランザクションのメタデータ。 |
| META | Cache | 安全 | カラムおよびテーブルのメタデータの取得/書き込みに関するメッセージ。 |
| META | Schema | 安全 | スキーマメタデータに関するメッセージ。 |
| META | MemSto | 安全 | インメモリメタデータキャッシュのイベント。 |
| META | Storag | 安全 | メタデータの永続化イベント。 |
| FUNC | Errmsg | 安全 | ドライバーからのエラーメッセージ。 |
| TCP | Send | 注意 | 送信される生のTCP バイトデータ。顧客が書き込むデータがログに記録されます。読み取りの場合は安全です。 |
| TCP | Receiv | 危険 | 受信する生のTCP バイトデータ。ソースのペイロードです。 |
| FTP | Info | 安全 | プロトコルのステータス。 |
| FTP | Client | 注意 | クライアントのアクションには、ファイル名や認証情報が含まれる場合があります。 |
| FTP | Server | 危険 | サーバーのレスポンスには、ファイルの内容が含まれる場合があります。 |
| SFTP | Info | 安全 | プロトコルのステータス。 |
| SFTP | To_Server | 注意 | クライアントのアクションには、ファイル名や認証情報が含まれる場合があります。 |
| SFTP | From_Server | 危険 | サーバーのレスポンスには、ファイルの内容が含まれる場合があります。 |
| POP | Client | 注意 | クライアントのアクション。メールボックスまたは認証情報への参照が含まれます。 |
| POP | Server | 危険 | サーバーのレスポンスには、メッセージ本文が含まれる場合があります。 |
| POP | Status | 安全 | プロトコルのステータス。 |
| SMTP | Client | 注意 | クライアントのアクション。メッセージのメタデータが含まれます。 |
| SMTP | Server | 注意 | サーバーのレスポンス。主にステータスに関する情報です。 |
| SMTP | Status | 安全 | プロトコルのステータス。 |
| CORE | — | 安全 | 製品内部の操作。 |
| DEMN | — | 安全 | SQL リモーティングの内部処理。 |
| CLJB | Commit | 安全 | 一括ジョブのステータス更新のみをログに記録します。 |
| SRCE | — | 注意 | 使用方法はドライバーによって異なります。 |
| TPJE | Trace | 安全 | 製品の低レベル操作に関する高度なメッセージ。 |