LotusScript 実行ログ出力機能作成の 3 回目です。いよいよスクリプトライブラリの作成を始めます。ライブラリの使い方を整理してから、ライブラリのコーディングを始めます。
ライブラリの使い方
LotusScript 実行ログを出力する機能は、スクリプトライブラリにまとめます。アプリの開発者は、自身が作成するエージェントやフォームのボタンなど、アプリケーション内でこのライブラリを利用して、処理状況や実行結果をログ DB に残します。開発者は、ログ管理に関しては部品を利用するだけとなるため開発効率が上がるというのが狙いです。
ライブラリのインターフェースとなる関数と機能は以下の通りとなります。
LogOpen | ログの記録を開始 |
PrintLog | ログ(通常のメッセージ)を記録 |
PrintError | エラーログを記録(赤字で目立つように記録) |
PrintSummary | 処理結果のサマリを記録 |
LogClose | ログの記録を終了し、ログ文書を保存 |
LogOpen でログの記録を開始、Print* でログの中身を出力、LogClose でログ DB に文書として保存して終了します。NotesLog クラスとメソッド名は違いますが、使い方の流れは同じですね。
ライブラリの作成と初期化
新規で LotusScript のライブラリを作成します。
名称 | StdLog |
まずは、ライブラリの初期化に関連する部分を紹介します。
◇ ライブラリの定義
ライブラリの定義にあたる (Options)、(Declarations) は次の通り記述します。
Option Declare Private xns As NotesSession Private xndbCur As NotesDatabase Private xndbLog As NotesDatabase Private xndLog As NotesDocument Private xnrti As NotesRichTextItem 'ライブラリ情報 Private Const xcsLibName = "StdLog" Private Const xcsLibVersion = "1.0.0" Private Const xcsFilePath = "LS_Log.nsf" 'ログDBのパス '段落スタイル Private xnrtpsMsg As NotesRichTextParagraphStyle '通常ログ 'フォント定義 Private xnrtsDT As NotesRichTextStyle 'ログ時刻 Private xnrtsMsg As NotesRichTextStyle '通常のメッセージ Private xnrtsErr As NotesRichTextStyle 'エラーメッセージ 'ステータス管理 Private xbIsInit As Boolean '初期化したか? Private xbIsOpen As Boolean 'ログDBが取得済みか? 'カウンタ Private xlMessage As Long '通常ログ出力件数 Private xlError As Long 'エラーログ出力件数 |
◇ ライブラリの初期化
続いては、ライブラリの初期化です。ログ DB の取得を行い、取得できたら初期化できたことを xbIsInit に設定します。
Sub Initialize 'ログDB取得 Set xns = New NotesSession Set xndbCur = xns.CurrentDatabase Set xndbLog = xns.GetDatabase(xndbCur.Server, xcsFilePath, False) '取得成功なら初期化は OK If Not (xndbLog Is Nothing) Then xbIsInit = True End If '段落スタイル Call xInitParagraphStyle() End Sub |
◇ 段落スタイルの準備
初期化関数からコールしている xInitParagraphStyle は段落スタイルを設定準備する関数です。ログを出力する際に都度利用するので、あらかじめ準備しておき、いつでも利用できるようにします。
Function xInitParagraphStyle() '通常のメッセージ Set xnrtpsMsg = xns.CreateRichTextParagraphStyle() xnrtpsMsg.FirstLineLeftMargin = 1 * RULER_ONE_INCH xnrtpsMsg.LeftMargin = 6.5 * RULER_ONE_CENTIMETER End Function |
この設定を利用した段落は、1 行目の左マージンが 1 インチ(2.54cm)、2 行目以降が 6.5cm となります。これで、ログメッセージが長く右端で折り返しても日時の下には表示されません。
次回の予定
今回はライブラリの作成と初期化について紹介しました。次回以降はインターフェースとなる関数を順に紹介します。
前回 | 共通部品にチャレンジ |
0 件のコメント:
コメントを投稿