2025/09/21

共通部品にチャレンジ:#2)LotusScript 実行ログ - フォームの作成

まずはログを表示するフォームを作成します。フォームのイメージは次の通りです。

現時点ではログ出力機能として最低限必要な項目のみ配置しています。その他項目は、関連機能追加のタイミングで追加することとします。なお、フォーム上の の部分は非表示の項目です。

作成に必要な情報を順に記載します。


フォーム情報

新規 DB を作成して、次の新規フォームを作成します。

フォーム名 1.LotusScript実行ログ
別名 fStdLog
ウィンドウタイトル @Text(LogStartTime; "D1T1S3") + " - " + Title

作成するフィールドは下記の通りです。このフォームは開発者やアプリの運用担当だけが見る前提にしていますので、理由がない限り ”編集可能” としています。


◇ 管理者([Admin] ロール)セクション

フォームにセクションを作成して、その中に管理用のフィールドを作成します。

項目 フィールド名 種類 補足
エラーフラグ IsError テキスト 編集可能 1 = エラーあり
通常ログ件数 LogMessageCount 数値 編集可能
エラー件数 LogErrorCount 数値 編集可能

セクションは [Admin] ロールを持っている人のみ表示させるよう非表示式を指定します。

!(
   @IsMember("[Admin]"; @UserRoles)
)

なお、セクションは初期状態を閉じておきましょう。これだけでロールを持たないユーザには、セクション丸ごと非表示にできます。


◇ ヘッダ情報

ログのタイトルや実行時間などの基本的な情報を表示するエリアです。次のフィールドを配置します。

項目 フィールド名 種類 補足 / 式
  Title テキスト 編集可能  
実行時間 LogStartTime 日付/時刻 編集可能  
LogEndTime 日付/時刻 編集可能  
エージェント AgentName テキスト 編集可能
AgentAlias テキスト 編集可能  複数値も可
IsOnServer チェックボックス 編集可能  
エラー LogError テキスト 編集可能  
LogErrorCount_D 数値 表示用の計算結果  LogErrorCount - 1
実行サマリー LogSummary テキスト 編集可能  

なお、エージェントの項目は、LotusScript がエージェントから実行された場合のみ出力されるように作成していきます。よって、AgentName に値があるときだけ表示させます。

!(AgentName != "")

エラーについては、エラーがあった場合だけの表示とします。

!(IsError != "")

ただし、エラー件数は、2 件以上の場合のみ表示とします。

!(LogErrorCount >= 2)


◇ 実行環境の情報

スクリプトを実行する DB とユーザの情報、ACL、実行環境を表示するエリアです。ACL と実行環境については、追って作成します。それに備えて、[基本情報]タブだけが存在するタブ形式の表にフィールドを配置します。

項目 フィールド名 種類 補足
DB 情報 DBTitle テキスト 編集可能  
Server テキスト 編集可能  
FilePath テキスト 編集可能  
 実行ユーザ名 UserName テキスト 編集可能  


◇ 実行ログ

フォームの下部には LotusScript 実行ログを記録するリッチテキストフィールドを配置します。

項目 フィールド名 種類 補足
 実行ログ Body リッチテキスト 編集可能  


前回 共通部品にチャレンジ


0 件のコメント:

コメントを投稿