こんにちは。
リーデックス小川です。
ローコードで業務アプリを開発できるプリザンターでは、「スクリプトの動作状況を素早く把握してトラブルを未然に防ぐ」ことが運用コストを左右します。
そこで鍵になるのがサーバースクリプトのログです。
今回の記事では、サーバスクリプトのログのポイントと現場での活用ノウハウをまとめました。
サーバースクリプトのログ出力
プリザンターのサーバースクリプトに標準で用意されているログ機能はバージョン1.4.12.0以降で利用可能です。
ブラウザの開発者ツールコンソールへの出力と、SysLogsテーブル(システムログ)への記録を同時に行い、発生箇所・時刻・内容を一元管理できます。
ログの種類と特徴
| 種類 | 想定シーン | 出力例 |
|---|---|---|
| Info | 通常フローの進捗確認 | logs.LogInfo("バッチ処理開始します") |
| Warning | 予兆レベルの注意喚起 | logs.LogWarning("在庫数が閾値未満です") |
| UserError | ユーザ操作起因エラー | logs.LogUserError("権限外操作を実行しました") |
| SystemError | システム側の致命的エラー | logs.LogSystemError("レコードの作成に失敗しました。") |
| Exception | try–catch で捕捉した例外 | logs.LogException(e) |
logs.Log()を使えば第1引数に種類、第2引数にメッセージを渡して一括制御も可能です。
Infoログ
処理が正しく進んでいることを確認する“健康診断”用。ジョブの開始/終了時刻やレコード件数を残すと、性能劣化の兆候を早期に発見できます。
Warningログ
将来的にエラーになり得る状態を記録します。すぐに対応は不要とはいえ、今対応すれば大事に至らないケースを拾い上げます。
UserErrorログ
入力ミスやアクセス権不足などユーザ操作由来の障害を記録します。
SystemErrorログ
DB接続失敗やタイムアウトなど、システムやインフラ側の問題を記録します。アラート連携を設定することで、エラーの早期発見と対応が可能となります。
Exceptionログ
try–catchブロックで捕捉した例外の記録します。複雑なスクリプトでも原因究明を早めることができます。
logオブジェクト
サーバスクリプトでログの出力を行うオブジェクトはlogsになります。ブラウザの開発者ツールのコンソール上の表示とプリザンターの「テナントの管理」より確認できるシステムログへ出力することができます。
| No | メソッド名 | 説明 |
|---|---|---|
| 1 | logs.LogInfo | ログの種類:Infoとしてログを表示、出力します。 |
| 2 | logs.LogWarning | ログの種類:Warningとしてログを表示、出力します。 |
| 3 | logs.LogUserError | ログの種類:UserErrorとしてログを表示、出力します。 |
| 4 | logs.LogSystemError | ログの種類:SystemErrorとしてログを表示、出力します。 |
| 5 | logs.LogException | ログの種類:Exceptionとしてログを表示、出力します。 |
| 6 | logs.Log | 指定したログの種類でログを表示、出力します。 |
(マニュアルより抜粋)
使い方は1~5はほぼ一緒ですので、logs.LogInfoで説明します。下記のような構文をログを出力したい部分に記述します。
logs.LogInfo(message, method, console, syslogs)
メソッドの内容は下記のとおりです。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| message | string | ○ | 表示、出力するエラー内容を指定。 |
| method | string | 省略可能。既定値は空文字。 | |
| console | bool | 省略可能。既定値はtrue。ブラウザの開発者ツールのコンソールに表示する場合はtrueを指定 | |
| syslogs | bool | 省略可能。既定値はtrue。システムログに出力する場合はtrueを指定 |
(マニュアルより抜粋)
なお、Logs.logについては、ログの種類を番号で指定する引数が一つ増えていますが、それ以外のフォーマットは変わりません。
logs.Log(type, message, method, console, syslogs)
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| type | int | ○ | ログの種類を指定。指定可能な値は以下の通り 10:Info 50:Warning 60:UserError 80:SystemError 90:Exception |
| その他パラメータは他のメソッドとおなじ |
(マニュアルより抜粋)
ログの設定と確認方法
では、具体的なログの出力方法を確認してみましょう。
try { const start = Date.now(); logs.LogInfo("受注API呼び出し開始"); //・・・処理・・・・・ logs.LogInfo(`処理完了 所要時間:${Date.now() - start}ms`); } catch(e) { logs.LogException(e); }
SysLogsテーブルを確認
それでは、SysLogsに出力されたログを確認して見ましょう。
ログは「ナビゲーションメニュー」 →「システムログ管理」より見ることができます。
「システムログ管理」は特権ユーザ(こちらの記事を参照)のみで閲覧できますので、表示されていない場合は、特権ユーザでログインしてください。

SystemErrorとExceptionについては、エラーメッセージ列にエラーの内容が表示されます。
また、Info、Warning、UserErrorについては、「システムログの管理」には表示されず、SyslogテーブルのCommentsに出力されます。Syslogテーブルについての詳細は下記マニュアルをご覧ください。
- FAQ:プリザンターのログを確認したい | Pleasanter
- FAQ:操作ログ(SysLogsテーブル)の内容について | Pleasanter
- システムログをテキスト出力できるようにする | Pleasanter
ブラウザのコンソールでリアルタイム確認
次に、ブラウザのコンソールで確認してみましょう。
ブラウザを開き、開発者ツール(F12)→ Consoleタブで見ることができます。Syslogsテーブルの表示とは違い、Info、Warning、UserErrorでも出力内容を確認することができます。

ログ活用のメリット
トラブル対応がグッと早くなる
エラーが起きたときに「いつ・どこで・何が」起きたかをログが教えてくれるため、原因を突き止めるまでの対応スピードが上がります。また、同じ状況の再現もやりやすくなります。
失敗したバッチやボタン操作も、ログを見れば特定できるため、対応が短時間で終わります。
毎日の運用が“見える化”する
LogInfoに「開始」「終了」「件数」を残すだけで、処理に何秒かかったかが分かります。
気になる処理の時間をログ出力することで「最近ちょっと遅いかも?」を数字で確認することができます。
セキュリティや原因調査にも役立つ
LogUserErrorには「誰が・いつ・何を操作したか」が残るので、入力ミスや不正操作の証拠になります。
同じIDやIPから同じエラーが繰り返し出ていれば、「操作手順が分かりにくいのかもしれない」と気付くきっかけになります。
ログを活用することで、運用マニュアルや画面設計の改善に役立つ情報が集まるのもメリットです。
まとめ
今回は、サーバスクリプトのログのポイントと現場での活用ノウハウをまとめました。
サーバスクリプトのログについてサーバースクリプトログを「記録」ではなく「運用データ」として捉えることで、
- 障害対応の工数削減
- 継続的なパフォーマンス改善
- セキュリティや原因調査の効率改善
を同時に実現できますので、ぜひご活用ください。
弊社では、プリザンターの認定トレーナーとしてトレーニングを実施しています。
プリザンターの基礎から応用まで幅広いラインナップを取り揃えていますので、プリザンター初心者はもちろんのこと、効率よくスキルアップしたい方にもオススメです!
詳しくはこちらにありますので、気になった方はぜひご覧ください。
それでは、今回はこの辺で。最後までご覧いただき、ありがとうございました。
【PR】こんな記事もありますので、もしよければご参考ください。