pureQuery は java.util.logging フレームワークを使用します。 pureQuery ロギングおよび java.util.logging フレームワークについては、 『Java アプリケーションの使用上の注意』を参照してください。
com.ibm.pdq.database プロパティーについてログに記録されるデータベース・イベントを次の表にリストします。
ログ・レベル | データベース・イベント |
---|---|
CONFIG | dumpLogsOnSqlCodes にはリストされて dumpLogsExcludedSqlCodes にはリストされない SQL エラー |
FINE | リポジトリーからの pureQuery プロパティーのリフレッシュ |
FINER | pureQuery クライアント最適化による SQL ステートメントの動的 PREPARE |
FINEST | pureQuery クライアント最適化による SQL ステートメントの静的 PREPARE |
アプリケーションが、pureQuery データに対してリポジトリーを使用するように構成されている 場合、pureQuery Runtime は、小さいログ・レコード・サブセットをリポジトリーに保管できます。 リポジトリーは、グローバル pdq.properties ファイルに指定されなければなりません。 アプリケーション・レベルまたはデータ・ソース・レベルで指定されるリポジトリー・ロケーションはロギング目的では無視されます。
select * from ibmpdq.log
スタンドアロン Java ユーザーは、pureQuery Runtime pdq.properties ファイルを 使用したり他の方法を使用したりしてログ・レベルを管理できます。 アプリケーションが pdq.properties によって pureQuery コンポーネント・ロギングを管理する場合は、 ログ・ファイルをディスク上に置くことも、ログの内容をリポジトリーに保管することもできます。 pureQuery コンポーネント・ロギングのログ・レベルを制御するために、JRE では、JRE/lib フォルダー内の logging.properties ファイルがサポートされます。
pureQuery コンポーネント・ロギング・プロパティーに関しては、子ログ・プロパティーは親レベルのログ設定を継承します。 子ログ設定を明示的に行うことで、親レベルのログ設定をオーバーライドできます。
例えば、com.ibm.pdq.co プロパティーのログ・レベルのみを FINE に設定した場合、 子プロパティー com.ibm.pdq.co.static と com.ibm.pdq.co,dynamic のログ・レベルも FINE になります。
java.util.logging によって指定されるメソッドでログ・レベルを設定できます。 他のアプリケーションでは、java.util.logging ロガーを管理するための他のメソッドが備わっていることもあります。
いずれの pureQuery コンポーネント・ログ・プロパティーでもログ・レベルを設定しない場合、 そのプロパティーは WebSphere® 環境では親 (com.ibm など) のレベルを継承します。
次の WebSphere Application Server の例では、pureQuery コンポーネント・ログ・プロパティーが ALL に 設定されます。
com.ibm.pdq.*=all
pureQuery コンポーネント・トレースのログ・レベルを設定するには、 グローバル pdq.properties ファイルで以下の構文を使用します。
pdq.traceLevel=OFF pdq.traceLevel.com.ibm.pdq.co=FINER pdq.traceLevel.com.ibm.pdq.co.static=FINE
これらの pureQuery Runtime プロパティーは、 ディスクまたはリポジトリーにある pdq.properties ファイルで指定できます。 pureQuery Runtime がリフレッシュ間隔でリポジトリーからこれらのプロパティーをリフレッシュすると、ログ・レベルが pureQuery ロガーに適用されます。
pureQuery コンポーネント・ロギング・プロパティーには、pdq.traceFile に相当するものはありません。
pdq.traceLevel と pdq.traceLevel.com.ibm.pdq.* をトレースするために使用される pureQuery Runtime プロパティー、 およびプロパティー dumpLogsOnSqlCodes は、リポジトリーで指定できます。 pdq.properties ファイルに pureQuery Runtime プロパティーを設定して、そのファイル内の情報をリポジトリーにアップロードします。 リポジトリーのリフレッシュ間隔が指定されている場合、更新されたログ・プロパティーが指定の時刻にリポジトリーから 読み取られ、pureQuery Runtime 対応アプリケーションに適用されます。
リポジトリーは、グローバル pdq.properties ファイルに指定されなければなりません。 アプリケーション・レベルまたはデータ・ソース・レベルで指定されるリポジトリー・ロケーションはロギング目的では無視されます。
ManageRepository ユーティリティーを -pureQueryProperties オプションとともに使用すれば、pureQuery Runtime プロパティー・ファイルを リポジトリーにアップロードできます。 次のコマンドはスクリプトから実行され、トレース・レベルが含まれるファイル pdq.properties をリポジトリーにアップロードします。
java -cp %PQ_USER_CLASSPATH% com.ibm.pdq.tools.ManageRepository -update runtimeGroup -pureQueryProperties pdqrep.properties -runtimeGroupID %1 -runtimeGroupVersion %2 -repositoryURL %PQ_REP_URL% -repositoryUsername %PQ_REP_USERNAME% -repositoryPassword %PQ_REP_PASSWORD% -repositoryDriverClass com.ibm.db2.jcc.DB2Driver
このスクリプトをコマンド行から実行すると、 変数 %1 と %1 が、スクリプトの実行時に指定された値で置き換えられます。 %PQ_USER_CLASSPATH% などの変数は、環境変数によって指定された値で置き換えられます。