ページの先頭行へ戻る
HA Database Ready 業務開発ガイド(Open SQL編)
FUJITSU Integrated System

4.3.2 .NET Data Providerを利用する場合

以下のプロパティ値を構成ファイルに設定することでアプリケーションのログが出力できます。構成ファイルは、実行ファイル(exeファイル)と同じディレクトリに以下に示すファイル名で配置します。

表4.9 プロパティ値の設定内容

プロパティ

設定する値

説明

PgxLogDir(注)

アプリケーションのログの出力先ディレクトリ

アプリケーションのログの出力先ディレクトリを指定します。

ログファイルは、アプリケーションのプロセスごとに作成されます。ファイル名は、以下のようにプロセスIDと、ログファイルが作成された日時が付加されます。

  • ファイル名の形式

    Npgsql-プロセスID-YYYY-MM-DD_HHMMSS.log

  • ファイル名の出力例

    Npgsql-2308-2012-09-26_095329.log

PgxLogSize(注)

アプリケーションのログの最大サイズ

アプリケーションのログのサイズがこの値を超えると、別のファイルにログを切り替えます。

単位はメガバイトで、1から2047まで指定できます。

注)ログを出力する場合は、必ず設定してください。設定しなかった場合、または設定に誤りがある場合は、プロパティでのログ出力の設定は有効になりません。

構成ファイルの指定例

ログの出力先に“C:\temp\”、ログの最大サイズに“2”を指定する場合

<configuration>
 <appSettings>
  <add key="PgxLogDir" value="C:\temp\"/>
<add key="PgxLogSize" value="2"/>
</appSettings> </configuration>
アプリケーションのログの出力情報

ログの出力形式と出力情報について、説明します。

出力形式
日付△時刻△プロセスID△コネクションID△ログ種別△実行ログ

△:半角スペースを表します

出力情報

出力情報

説明

日付

処理を実行した日付が以下の形式で出力されます。

  • YYYY/MM/DD

時刻

処理を実行した時刻が以下の形式で出力されます。

  • HH:MM:SS.sss

プロセスID

プロセスIDが出力されます。

コネクションID

コネクションIDが以下の形式で出力されます。

  • (コネクションID)

ログ種別

ログ種別(“Debug”または“Normal”)が出力されます。

実行ログ

実行した処理の内容が出力されます。

アプリケーションのログの出力例
2012/09/26 13:40:36.760 4152 (9) Debug NpgsqlConnection.NpgsqlConnection(NpgsqlConnection()) 入力
:(省略)
2012/09/26 13:40:36.760 4152 (9) Normal 192.168.0.1:26500 へ接続されました。
                                                                        ・・・(1)
:(省略)
2012/09/26 13:40:37.760 4152 (9) Debug 文字列の書き込み: select * from  tb1.
                                                                        ・・・(2)
2012/09/26 13:40:37.760 4152 (9) Debug NpgsqlCommand.Connection 取得
2012/09/26 13:40:37.760 4152 (9) Debug NpgsqlState.ProcessBackendResponses() 入力
2012/09/26 13:40:37.760 4152 (9) Debug PGUtil.ReadString() 入力
2012/09/26 13:40:37.760 4152 (9) Debug NpgsqlEventLog.LogLevel 取得
2012/09/26 13:40:37.760 4152 (9) Debug 文字列の読み込み: c1.
2012/09/26 13:40:37.760 4152 (9) Debug PGUtil.ReadString() 入力
2012/09/26 13:40:37.760 4152 (9) Debug NpgsqlEventLog.LogLevel 取得
2012/09/26 13:40:37.760 4152 (9) Debug 文字列の読み込み: c2.
2012/09/26 13:40:37.760 4152 (9) Debug NpgsqlCommand.Parameters 取得
2012/09/26 13:40:37.760 4152 (9) Debug NpgsqlParameterCollection.GetEnumerator() 入力
2012/09/26 13:40:37.760 4152 (9) Debug ForwardsOnlyDataReader.GetValue() 入力
                                                                         ・・・(3)
2012/09/26 13:40:37.760 4152 (9) Debug NpgsqlTypesHelper.ConvertBackendStringToSystemType() 入力
:(省略)
2012/09/26 13:40:37.760 4152 (9) Debug PGUtil.ReadString() 入力
2012/09/26 13:40:37.760 4152 (9) Debug NpgsqlEventLog.LogLevel 取得
2012/09/26 13:40:37.760 4152 (9) Debug 文字列の読み込み: UNLISTEN.
2012/09/26 13:40:37.760 4152 (9) Debug ReadyForQuery メッセージをサーバーから受け取りました。
2012/09/26 13:40:39.760 4152 (2) Debug NpgsqlReadyState.Close() 入力    ・・・(4)
:(省略)

(1)接続情報
  接続時の情報を出力します。

(2)クエリ情報
  実行したSQL文を出力します。

(3)データの読み込み情報
  データベースサーバから、データを取得したことを表します。

(4)接続の切断情報
  接続が切断されたことを表します。

参考

アプリケーションのログの出力設定は、プログラム中でも指定できます。構成ファイルの設定よりプログラム中の指定が優先されます。

  • プログラムでの設定方法

    NpgsqlEventLog.Level = LogLevel.Debug;
    NpgsqlEventLog.LogName = "ログファイル出力先";

    NpgsqlEventLog.Levelは、ログを出力しないLogLevel.None、通常のログを出力するLogLevel.Normal、または詳細ログを出力するLogLevel.Debugが指定できます。