以下のプロパティ値を構成ファイルに設定することでアプリケーションのログが出力できます。構成ファイルは、実行ファイル(exeファイル)と同じディレクトリに以下に示すファイル名で配置します。
アプリケーションの場合
[アプリケーション名].exe.config
ASP.NETの場合
Web.config
プロパティ | 設定する値 | 説明 |
---|---|---|
PgxLogDir(注) | アプリケーションのログの出力先ディレクトリ | アプリケーションのログの出力先ディレクトリを指定します。 ログファイルは、アプリケーションのプロセスごとに作成されます。ファイル名は、以下のようにプロセスIDと、ログファイルが作成された日時が付加されます。
|
PgxLogSize(注) | アプリケーションのログの最大サイズ | アプリケーションのログのサイズがこの値を超えると、別のファイルにログを切り替えます。 単位はメガバイトで、1から2047まで指定できます。 |
注)ログを出力する場合は、必ず設定してください。設定しなかった場合、または設定に誤りがある場合は、プロパティでのログ出力の設定は有効になりません。
ログの出力先に“C:\temp\”、ログの最大サイズに“2”を指定する場合
<configuration> <appSettings> <add key="PgxLogDir" value="C:\temp\"/>
<add key="PgxLogSize" value="2"/>
</appSettings> </configuration>
ログの出力形式と出力情報について、説明します。
日付△時刻△プロセスID△コネクション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が指定できます。