まずはログを表示するフォームを作成します。フォームのイメージは次の通りです。
現時点ではログ出力機能として最低限必要な項目のみ配置しています。その他項目は、関連機能追加のタイミングで追加することとします。なお、フォーム上の 紫 の部分は非表示の項目です。
作成に必要な情報を順に記載します。
フォーム情報
新規 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 件のコメント:
コメントを投稿