17.19.2 出力形式
Exceptionトレースログには,次の4種類の形式があります。
- 形式1:ヘッダ部分
-
JDBC2.0の場合:
[AA....AA] HiRDB_Type4_JDBC_Driver BB-CC
JDBC4.0の場合:
[AA....AA] HiRDB_Type4_JDBC40_Driver BB-CC
JDBC4.3の場合:
[AA....AA] HiRDB_Type4_JDBC43_Driver BB-CC
- 形式2:メソッドの実行履歴(メソッドの実行開始)
AAAAAAAAAAAAAAAAAAAAAAA BB....BB:[C][DD....DD] ConnectionID(EE....EE) : SID(FF....FF) GG....GG II....II
- 形式3:メソッドの実行履歴(メソッドの正常終了)
AAAAAAAAAAAAAAAAAAAAAAA BB....BB:[C][DD....DD] ConnectionID(EE....EE) : SID(FF....FF) HH....HH II....II
- 形式4:Exceptionトレースログの出力契機
AAAAAAAAAAAAAAAAAAAAAAA BB....BB:JJ....JJ: KK....KK
形式2及び形式3は,時系列順に,メソッドを実行した分だけ繰り返して出力されます。
Exceptionを投入しない警告レベルの事象が発生した場合では,形式2及び形式3の情報は出力しません。
- 〈この項の構成〉
(1) 形式1の変数の説明
- AA....AA:
-
出力情報の通番です。
通番は1回の出力(出力エラーによる失敗も含む)ごとに1増加します。2,147,483,647を超えると,0に戻ります。
- BB:
-
JDBCドライバのバージョンです。
- CC:
-
JDBCドライバのリビジョンです。
(2) 形式2〜形式4の変数の説明
- AAAAAAAAAAAAAAAAAAAAAAA:
-
Exceptionトレースログの取得日時を,次の形式で出力します。それぞれの変数には,すべて0〜9の値が入ります。
YYYY/MM/DD hh:mm:ss.sss
YYYY:年(西暦)
MM:月
DD:月
hh:時(24時間形式)
mm:分
ss.sss:秒(小数点以下3けたを含みます)
- BB....BB:
-
メソッドを実行したスレッド識別情報を,次の形式で出力します。
Thread[aa....aa]@bb....bb@cc....cc
aa....aa:スレッド名,優先順位,スレッドグループ名を含む,スレッド情報です。形式はJava仮想マシンによって決まります。
bb....bb:オブジェクトのハッシュコードです。形式はJava仮想マシンによって決まります。
cc....cc:スレッドIDです。JDBC4.0版以降でだけ付加します。
- C:
-
メソッドの呼び出し識別情報です。
E:メソッドが開始したときの履歴であることを示します。
R:メソッドが正常終了したときの履歴であることを示します。
- DD....DD:
-
オブジェクト識別子及びメソッド名を,次の形式で出力します。
aa....aa.bb....bb
- aa....aa:オブジェクト識別子です(最大32文字)。
-
形式はJava仮想マシンによって決まります。
bb....bb:メソッド名です。
- EE....EE:
-
接続IDを次の形式で出力します。
aa....aa:bb....bb:cc....cc
- aa....aa:フロントエンドサーバ名又はシングルサーバ名です(最大32文字)。
-
取得できない場合,"*"を出力します。
- bb....bb:aa....aaで示すサーバの接続通番です(最大10文字)。
-
取得できない場合,"*"を出力します。
- cc....cc:aa....aaで示すサーバのプロセスIDです(最大10文字)。
-
取得できない場合,"*"を出力します。
- FF....FF:
-
セクションIDを出力します(最大4文字)。
- GG....GG:
-
メソッドの引数を次の形式で出力します。引数がないメソッドでは出力しません。
aa....aa=bb....bb aa....aa=bb....bb : aa....aa=bb....bb
aa....aa:引数の名称です。
- bb....bb:引数の内容です(最大256文字)。
-
参照型値の場合,形式はオブジェクトによって決まります。
なお,次のメソッドの引数passwordについては,bb....bbに"*"1個を出力します。
-
DataSourceクラスのgetConnection(String username, String password)
-
ConnectionPoolDataSourceクラスのgetPooledConnection(String username, String password)
-
XADataSourceのgetXAConnection(String username, String password)
また,Driverクラスのconnect(String url,Properties info)の次の指定値については,"*"1個に置き換えて出力します。
-
引数info中のプロパティpassword
-
引数info中のプロパティHiRDB_for_Java_ENV_VARIABLES
-
引数url中のPASSWORD
- HH....HH:
-
メソッドの戻り値を次の形式で出力します。
Return=aa....aa
aa....aa:引数の名称です。
戻り値がないメソッドでは出力しません。戻り値が参照型値の場合,形式はJava仮想マシンによって決まります。
- II....II:
-
メソッドの動作に関係する引数・戻り値以外の情報を次の形式で出力します。
[aa....aa]=bb....bb
aa....aa:付加情報の種別です。
bb....bb:付加情報の内容です。
付加情報の種別と内容を次の表に示します。
種別
内容
[SQL]
SQL文
[COUNT]
ResultSet.nextメソッドの呼び出し回数
- JJ....JJ:
-
ログの出力契機を示す次のどちらかの文字列を出力します。
Exception投入時
Exception
Exceptionを投入しない警告レベルのメッセージ出力時
Warning
- KK....KK:
-
トラブルシュート情報を,次のどちらかの形式で出力します。
Exception投入時
ExceptionClass: aa....aa UapEnvironment: bb....bb Message: cc....cc ErrorInfo: kk....kk ErrorCode: dd....dd SQLState: eeeee UpdateCounts: ff....ff, ..<省略>.. ,ff....ff SocketInfo: ll....ll Etc.: gg....gg, hh....hh, iiii URLInfo:n....n RootAP:o....o PropertyInfo: p....p ExtendedSQLErrorInfo: mm....mm jj....jj
Exceptionを投入しない警告レベルのメッセージ出力
UapEnvironment: b....b Message: c....c ErrorInfo: k....k SocketInfo: L....L Etc.: gg....gg, hh....hh, iiii URLInfo:n....n RootAP:o....o PropertyInfo: p....p
aa....aa:投入した例外オブジェクトの実行クラス名です。
- bb....bb:例外オブジェクトの接続で使用しているクライアント環境定義を,次の形式で出力します。出力しない場合は,"*"1個に置き換えて出力します。
yy....yy (zz....zz), ..<省略>.., yy....yy (zz....zz)
yy....yy:先頭の"PD"を省略した,クライアント環境定義の名称です。次のクライアント環境定義が出力対象となっています。
項番
クライアント環境定義
1
PDUSER
2
PDNAMEPORT
3
PDCWAITTIME
4
PDSWAITTIME
5
PDHOST
6
PDFESHOST
7
PDSERVICEGRP
8
PDSWATCHTIME
9
PDSERVICEPORT
10
PDSRVTYPE
11
PDCLTRCVPORT
12
PDCLTRCVADDR
13
PDFESGRP
zz....zz:クライアント環境定義の内容です。なお,PDUSERのパスワード部分は出力しません。
cc....cc:例外オブジェクトが持つメッセージです。
- dd....dd:SQLCODEのエラーコード(XAExceptionの場合,XAExceptionオブジェクトのフィールドerrorCodeが示すエラーコード)です(最大11文字)。
-
投入した例外オブジェクトの実行クラスが次のクラス又はサブクラスの場合に出力します。
-
SQLException
-
XAException
-
- eeeee:SQLSTATEを出力します(5文字)。
-
投入した例外オブジェクトの実行クラスがSQLException,又はSQLExceptionのサブクラスの場合に出力します。
- ff....ff:この例外が発生するまでに正常に実行されたバッチ更新の,各更新文の更新行数を出力します(最大11文字)。
-
例外オブジェクトの実行クラスがBatchUpdateExceptionの場合に出力します。
更新行数が取得できない場合,"*"を出力します。
- gg....gg:SQLカウンタを出力します(最大6文字)。
-
SQLトレース機能によって出力したトレース情報との対応付けに使用できます。
SQLカウンタが取得できない場合,"*"を出力します。
- hh....hh:HiRDBサーバでエラーが発生している場合,HiRDBサーバの障害情報を出力します(最大22文字)。
-
障害情報は,保守員が使用します。
HiRDBサーバでエラーが発生していない場合,"*"を出力します。
- iiii:HiRDBサーバでエラーが発生している場合,JDBCドライバがHiRDBサーバに対して行った要求の種別(オペレーションコード)を出力します。
-
HiRDBサーバでエラーが発生していない場合,"****"を出力します。
- jj....jj:例外投入メソッドを基点としたスタックトレースを出力します。
-
形式はJava仮想マシンによって決まります。
kk....kk:トラブルシュート用の付加情報を,メッセージの形式で出力します。
- ll....ll:例外が発生したオブジェクトの接続で使用しているソケット情報を,次の形式で出力します。
aa....aa(bb....bb), ....省略...., aa....aa(bb....bb)
ソケット情報の内容を次に示します。
ソケット情報の名称(aa....aa)
ソケット情報の内容(bb....bb)
LocalAddr
ローカルのIPアドレス
LocalPort
ローカルのポート番号
RemoteAddr
リモートのIPアドレス
RemotePort
リモートのポート番号
SendBufferSize
送信バッファサイズ
RecvBufferSize
受信バッファサイズ
SoLinger
SO_LINGER
KeepAlive
SO_KEEPALIVE
ReuseAddr
SO_REUSEADDR
注 内容が設定されていないソケット情報については,空括弧( )を出力します。また,ソケット情報が一つも設定されていない場合は,ll....llの項目を出力しません。
- mm....mm:拡張SQLエラー情報を出力します(JDBC4.0以降の場合だけです)。
-
出力内容については,「拡張SQLエラー情報出力機能」を参照してください。拡張SQLエラー情報出力の設定がされていない場合は,何も出力しません。
- nn....nn:DriverManegerのgetConnectionメソッドで指定したURL文字列を出力します。
-
URLでPASSWORDを指定している場合,PASSWORD指定値を"*"1個に置き換えて出力します。
DataSourceを使用して取得したConnectionの場合は何も出力しません。
- oo....oo:Cosminexusを使用している場合,ルートアプリケーション情報を出力します。
-
ルートアプリケーション情報を取得できない(当該製品ではない,又はルートアプリケーション情報の適用範囲外から呼び出された)場合,何も出力しません。
ルートアプリケーション情報については,当該製品のマニュアルを参照してください。
- pp....pp:JDBC4.0以降の場合だけ出力します。Type4 JDBCドライバ固有の各種設定項目(プロパティ,URL項目,及びDataSourceのsetXXXメソッド)について,明示的に指定されたものを次の形式で出力します。
[a....a]b....b=c....c [a....a]b....b=c....c : [a....a]b....b=c....c
各要素の意味を次に示します。
aa....aa:次に示す設定方法
設定方法
出力文字列
システムプロパティ
SPR
ユーザプロパティ
UPR
URL
URL
DataSource又はDriverManegerのsetXXXメソッド
MTD
クライアント環境定義
ENV
b....b:設定項目名
c....c:設定値
一つの項目を複数の方法で設定した場合,それぞれについて設定情報を出力します。