ユーザマニュアル

【9/16開催】Pleasanter User Meet Up#11 プリザンター×MCPサーバ 「プリザンターをもっと活用するために」資料ダウンロード 「プリザンター入門」発売中!

2026/06/23

MANUAL

開発者向け機能:サーバスクリプト:logs.Log

## 概要 [logsオブジェクト](/ja/manual/server-script-logs)の「Log」メソッドです。[サーバスクリプト](/ja/manual/table-management-server-script)で指定したログの種類でログを表示、出力します。 ## 構文 ``` logs.Log(type, message, method, console, syslogs) ``` ## パラメータ |パラメータ|型|必須|説明| |:----------|:----------|:---:|:---------------------------| |type|int|○|ログの種類を指定。指定可能な値は以下の通り<br>10:Info<br>50:Warning<br>60:UserError<br>80:SystemError<br>90:Exception| |message|string|○|表示、出力するエラー内容を指定。| |method|string||省略可能。既定値は空文字。| |console|bool||省略可能。既定値はtrue。ブラウザの開発者ツールのコンソールに表示する場合はtrueを指定| |syslogs|bool||省略可能。既定値はtrue。システムログに出力する場合はtrueを指定| ## 戻り値 ログを表示、出力できたらtrue、表示、出力できなかったらfalseを返却します。 ## コンソール表示時の表示内容 ##### 表示フォーマット ``` (SysLogType):[Method]Message ``` |表示項目|表示内容|備考| |:----------|:-------|:-------| |Message|messageで設定した文字列|| |Method|methodで設定した文字列|method未指定時は角括弧([])も表示しない| |SysLogType|typeによって以下の文字列を表示<br>10:Info<br>50:Warning<br>60:UserError<br>80:SystemError<br>90:Exception|| ## システムログ出力時の出力先項目 |出力先項目|出力内容|備考| |:----------|:-------|:-------| |Comments|messageで設定した文字列|typeが10(Info)、50(Warning)、60(UserError)の場合| |ErrMessage|messageで設定した文字列|typeが80(SystemError)、90(Exception)の場合| |Method|本来のMethodに記録される文字列に「:method」の形式で結合した文字列|| |SysLogType|type|| ## 使用例 下記の例では、サイトID 2 の「期限付きテーブル」にタイトルが "プリザンターのバージョンアップについて" のレコードを作成し、その結果に応じてlogs.Logでログ出力します。 ##### JavaScript ``` try { const siteId = 2; const item = items.NewIssue(); item.Title = 'プリザンターのバージョンアップについて'; const ret = items.Create(siteId, item); if (ret) { // Infoログ logs.Log(10, `レコードを作成しました。レコードID:${item.IssueId}`); } else { // SystemErrorログ logs.Log(80, `レコードの作成に失敗しました。サイトID:${siteId}`); } } catch(e) { // Exceptionログ logs.Log(90, `例外発生\n ${e.stack}`); } ``` ## サンプルコード <details> <summary>1. 汎用的なログ出力関数</summary> logs.logメソッドをラップし、デバッグ時と本番時でログ出力を切り分けられる汎用ロガーのサンプルコードです。 ##### 機能要件 1. デバッグフラグによる出力制御 **DEBUG_MODE(bool)**で Info(type=10)の出力を制御する。false のとき Info は抑制され、true のとき出力される。Warning(50)以上は **DEBUG_MODE** に関係なく常時出力する。 2. 出力先の一元管理 **LOG_TARGET(console / syslogs の bool)**で、コンソールとシステムログへの出力をそれぞれ個別に ON/OFF できる。設定はスクリプト全体に一括適用される。 3. ログ種別定数の提供 **logs.Log** の type 引数に対応する定数オブジェクト **LOG_TYPE** を提供し、数値の直書きによるミスを防ぐ。 | 定数 | 値 | ログ種別 | |---|---|---| | LOG_TYPE.INFO | 10 | Info | | LOG_TYPE.WARNING | 50 | Warning | | LOG_TYPE.USER_ERROR | 60 | UserError | | LOG_TYPE.SYSTEM_ERROR | 80 | SystemError | | LOG_TYPE.EXCEPTION | 90 | Exception | 4. 2つのメソッドの提供 | メソッド | 説明 | DEBUG_MODE=false | DEBUG_MODE=true | |---|---|---|---| | logEx.log(type, message, method) | logs.Log の薄いラッパー。type=10 のみ抑制 | Warning 以上のみ出力 | 全て出力 | | logEx.debug(message, method) | デバッグ専用。Info(10)で出力 | 出力しない | 出力する | 5. method パラメータの透過渡し 各メソッドの method 引数を **logs.Log** の method パラメータにそのまま渡せる。 ##### JavaScript ```javascript // ============================================================ // デバッグモード。true にすると debug() と type=10(Info) のログが出力される // ============================================================ const DEBUG_MODE = true; /** * 出力先の制御 * console : ブラウザ開発者ツールのコンソールに出力するか * syslogs : システムログ(SysLogs テーブル)に出力するか */ const LOG_TARGET = { console: true, syslogs: true, }; // ============================================================ // ログ種別の定数(logs.Log の type 引数に対応) // ============================================================ const LOG_TYPE = { INFO: 10, WARNING: 50, USER_ERROR: 60, SYSTEM_ERROR: 80, EXCEPTION: 90, }; // ============================================================ // ロガー本体 // ============================================================ const logEx = (function (debugMode, target) { /** * DEBUG_MODE=false のとき、Info(type=10)は抑制する。 * Warning 以上(type>=50)は常に出力する。 */ function _isOutputAllowed(type) { if (type === LOG_TYPE.INFO && !debugMode) return false; return true; } return { /** * logs.Log をそのままラップしたメソッド。 * type=10(Info) は DEBUG_MODE=true のときのみ出力される。 * type=50 以上(Warning/UserError/SystemError/Exception)は常に出力される。 * * @param {number} type - ログ種別(LOG_TYPE 定数を推奨) * @param {string} message - ログメッセージ * @param {string} [method] - メソッド名(省略可) */ log: function (type, message, method) { if (!_isOutputAllowed(type)) return; const m = method || ''; logs.Log(type, message, m, target.console, target.syslogs); }, /** * デバッグ専用ログ。DEBUG_MODE=true のときのみ Info(type=10)で出力。 * 変数の中身確認や処理トレースなど、本番では不要な出力に使う。 * * @param {string} message * @param {string} [method] */ debug: function (message, method) { if (!debugMode) return; const m = method || ''; logs.Log( LOG_TYPE.INFO, '[DEBUG] ' + message, m, target.console, target.syslogs, ); }, }; })(DEBUG_MODE, LOG_TARGET); // ====================== // 使用例 // ====================== // ─── 例1:デバッグログ(DEBUG_MODE=true のときだけ出力) ─── logEx.debug('処理開始: siteId=' + 1000, 'MyScript'); // ─── 例2:INFO ログ(DEBUG_MODE=true のときだけ出力) ─── logEx.log(LOG_TYPE.INFO, 'レコードを取得しました。', 'FetchRecord'); // ─── 例3:WARNING ログ(常に出力) ─── logEx.log( LOG_TYPE.WARNING, '対象レコードが見つかりませんでした。', 'FetchRecord', ); // ─── 例4:UserError ログ(常に出力) ─── logEx.log(LOG_TYPE.USER_ERROR, '必須項目が未入力です。', 'Validate'); // ─── 例5:SystemError ログ(常に出力) ─── logEx.log(LOG_TYPE.SYSTEM_ERROR, 'APIへの接続に失敗しました。', 'CallApi'); // ─── 例6:Exception ログ(catch と組み合わせて使う) ─── try { const item = items.NewIssue(); item.Title = 'テスト'; items.Create(2, abcd); // 強制的に例外発生 logEx.log(LOG_TYPE.INFO, '作成成功', 'CreateIssue'); } catch (e) { logEx.log(LOG_TYPE.EXCEPTION, e.message + '\n' + e.stack, 'CreateIssue'); } // ─── 例7:数値を直接指定することも可能 ─── logEx.log(50, '直接指定の警告ログ', 'DirectType'); ``` </details> ## 対応バージョン |対応バージョン|内容| |:--|:--| |1.4.12.0 以降|機能追加| ## 関連情報 <div id="ManualList"><ul><li><a href="/ja/manual/table-management-server-script">テーブルの管理:サーバスクリプト</a><span>2026/02/10 up</span></li></ul></article> <ul><li><a href="/ja/manual/server-script">開発者向け機能:サーバスクリプト</a><span>2026/05/12 up</span></li> <li><a href="/ja/manual/server-script-logs">開発者向け機能:サーバスクリプト:logs</a><span>2025/01/14 up</span></li> <li><a href="/ja/manual/server-script-logs-log-exception">開発者向け機能:サーバスクリプト:logs.LogException</a><span>2026/06/23 up</span></li> <li><a href="/ja/manual/server-script-logs-log-info">開発者向け機能:サーバスクリプト:logs.LogInfo</a><span>2026/06/23 up</span></li> <li><a href="/ja/manual/server-script-logs-log-system-error">開発者向け機能:サーバスクリプト:logs.LogSystemError</a><span>2026/06/23 up</span></li> <li><a href="/ja/manual/server-script-logs-log-user-error">開発者向け機能:サーバスクリプト:logs.LogUserError</a><span>2026/06/23 up</span></li> <li><a href="/ja/manual/server-script-logs-log-warning">開発者向け機能:サーバスクリプト:logs.LogWarning</a><span>2026/06/23 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
code VS Codeで開発作業をもっとスマートに

スクリプト開発の効率を高めたい方に、Code Assistをご用意しています。

Code Assistの詳細はこちら →
account_tree 複雑な構成も、すっきり視覚化

サイト構成やデータのつながりを可視化し、把握しやすくします。

Site Visualizerの詳細はこちら →
TOP