FAQ:プリザンターのログを確認したい
## 概要
プリザンターの「ログ」を取得する手順です。プリザンターのログは「データベース」内の「[SysLogsテーブル](/manual/faq-contents-of-syslogs)」に格納されています。
## 注意事項
1. 本手順はデータベースを直接操作するため、危険が伴います。事前に「[バックアップ](/manual/faq-backup-and-restore)」を取得することを強くお勧めします。
## 操作手順(Windows)
1. プリザンターをインストールしているサーバにログイン
1. 「[SSMS](/manual/install-sql-server-management-studio)」(SQL Server Management Studio)を起動
1. 「オブジェクトエクスプローラ」から「データベース」を展開し「Implem.Pleasanter」を選択 → 右クリック → 「新しいクエリ」をクリック
1. 下記SQLを実行し「[SysLogsテーブル](/manual/faq-contents-of-syslogs)」のデータを取得
##### SQL(直近の1000件を取得する場合)
```
select top 1000 * from "SysLogs" order by "CreatedTime" desc;
```
##### SQL(特定の期間のログを取得する場合)
```
select * from "SysLogs" where "CreatedTime" between '2021/07/01 00:00:00' and '2021/07/02 00:00:00'
```
1. 結果ウィンドウの左上をクリックし結果を全選択 → 右クリック → ヘッダー付きでコピー
1. Excel等に張り付けてログを保存
## 操作手順(Linux)
1. プリザンターをインストールしているサーバにログイン
1. ユーザをpostgresに切り替え
```
su - postgres
```
1. 下記のpsqlコマンドを実行し「[SysLogsテーブル](/manual/faq-contents-of-syslogs)」のデータを取得
##### SQL(直近の1000件を取得する場合)
```
psql -d "Implem.Pleasanter" -U postgres -c "select * from \"SysLogs\" order by \"CreatedTime\" desc limit 1000;" -A -F, > /web/syslogs.csv
```
##### SQL(特定の期間のログを取得する場合)
```
psql -d "Implem.Pleasanter" -U postgres -c "select * from \"SysLogs\" where \"CreatedTime\" between '2022/02/08 00:00:00' and '2022/02/09 00:00:00' order by \"CreatedTime\" desc;" -A -F, > /web/syslogs.csv
```
1. /web/syslogs.csvに出力されるCSVを保存
## ログの内容
「[SysLogsテーブル](/manual/faq-contents-of-syslogs)」の内容は下記のとおりです。
### ユーザの特定について
1. UserHostName:アクセス元のIPが記録されますが、プロキシ等を経由している場合、同一IPとなる可能性があります。
1. UserHostAddress:上記と同様です。
1. Creator:ユーザがログインしている場合、ユーザIDを示します。ユーザ名はUsersテーブルと紐づけて確認する必要があります。
1. Updator:上記と同様です。
### ユーザの操作について
1. Url:ユーザが要求したURLが記録されます。
1. UrlReferer:ユーザが1つ前に開いていたリンク元のURLが記録されます。
1. HttpMethod:ユーザが送信したHTTPメソッドが記録されます。
1. RequestData:ユーザが送信したフォームデータをエンコードした文字列が記録されます。
### その他の項目の説明は以下の通りです
1. CreatedTime:ログの記録日時です。
1. SysLogId:ログの一意なIDです。
1. Ver:ログのバージョンですが、使用していません。
1. SysLogType:ログの種類を記録します。種類は以下の通りです。
```
Info = 10,
Warning = 50,
UserError = 60,
SystemError = 80,
Execption = 90
```
1. OnAzure:Azure WebAppで動作させると1が記録されます。
1. MachineName:プリザンターのWebサーバのホスト名が記録されます。
1. ServiceName:サービス名「Implem.Pleasanter」が記録されます。
1. TenantName:マルチテナントにおけるテナント名が記録されます。一般の環境では対象外です。
1. Application:ログを出力しているアプリケーションのプロジェクト名が記録されます。
1. Class:ユーザが要求したコントローラー名が記録されます。(URLの一部です)
1. Method:ユーザが要求したアクション名が記録されます。(URLの一部です)
1. RequestSize:POSTされたデータのサイズが記録されます。
1. ResponseSize:サーバから返却されたデータのサイズが記録されます。
1. Elapsed:サーバサイドで1リクエスト当たりに必要とした時間(ミリ秒)が記録されます。
1. ApplicationAge:アプリケーションが開始してから経過した時間(ミリ秒)が記録されます。
1. ApplicationRequestInterval:前回の要求からのインターバル時間(ミリ秒)が記録されます。
1. SessionAge:セッションが開始してから経過した時間(ミリ秒)が記録されます。
1. SessionRequestInterval:前回、同一セッションの要求からのインターバル時間(ミリ秒)が記録されます。
1. WorkingSet64:プロセスに割り当てられた物理メモリの量(バイト)が記録されます。
1. VirtualMemorySize64:プロセスに割り当てられた仮想メモリの量 (バイト) が記録されます。
1. ProcessId:プロセスIDが記録されます。
1. ProcessName:プロセス名が記録されます。
1. BasePriority:プロセスの基本優先順位を記録します。
1. UserLanguage:ユーザの言語を記録します。
1. UserAgent:ユーザのブラウザを記録します。
1. SessionGuid:セッションを識別するためのGUIDが記録されます。
1. ErrMessage:エラー発生時のメッセージが記録されます。
1. ErrStackTrace:エラー発生時のスタックトレースが記録されます。
1. IsDebug:開発環境でデバッグ実行をした際に1が記録されます。
1. AssemblyVersion:プリザンターのバージョンが記録されます。
1. Comments:未使用の項目です。
1. UpdatedTime:ログを更新した日時が記録されます。
## 関連情報
<div id="ManualList"><ul><li><a href="/manual/install-sql-server-management-studio">SQL Server Management Studioのインストール</a><span>2022/08/02 up</span></li></ul></article>
<ul><li><a href="/manual/faq-backup-and-restore">FAQ:プリザンターのDBデータをバックアップする方法とリストアする方法を知りたい</a><span>2022/07/04 up</span></li>
<li><a href="/manual/faq-backup-schedule">FAQ:プリザンターのDBデータを定期的にバックアップしたい</a><span>2022/06/13 up</span></li></ul></article>
<ul><li><a href="/manual/faq-contents-of-syslogs">FAQ:操作ログ(SysLogsテーブル)の内容について</a><span>2022/06/13 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />