2025/10/03

共通部品にチャレンジ:#11)LotusScript 実行ログ - 実行環境の取得

今回 LotusScript 実行ログ出力機能に追加するのは、実行環境の情報を取得する機能です。バージョンや環境に依存する問題の確認に利用できます。


フォームの修正

ACL タブの後ろに ”実行環境” タブを追加します。そのタブ内にカスケード表を作成して、フィールドを配置します。


項目 フィールド名 種類 補足
バージョン(ビルド) NotesVersion テキスト 編集可能
NotesBuildVersion
@Platform Platform
@@Platform([Specific]) PlatformSpecific


ライブラリの修正

新規追加した上記フィールドをセットするコードをライブラリに追加します。実行環境も ACL 情報と同じく、実行につき一度だけの取得となるので、初期化処理に追加します。

Private Function xInitLog(ByVal vsLogTitle As String)
         ・・・
   'アクセスレベル
   Dim lOpt As Long
   xndLog.AccessLevel = CStr(xndbCur.QueryAccess(sName))
   lOpt = xndbCur.QueryAccessPrivileges(sName)
   xndLog.AccessOption = xGetACLOptionName(lOpt)
   xndLog.UserRole = xndbCur.QueryAccessRoles(sName)

   '実行環境
   xndLog.NotesBuildVersion = xns.NotesBuildVersion
   xndLog.NotesVersion = xns.NotesVersion
   xndLog.Platform = Evaluate(|@Platform|)
   xndLog.PlatformSpecific = Evaluate(|@Platform([Specific])|)


   'リッチテキスト準備
   Set xnrti = xndLog.CreateRichTextItem("Body")
         ・・・

バージョン(ビルド)情報は NotesSession クラスから取得し、OS の情報は @Platform 関数を利用して取得しています。こんな時に Evaluate 関数は便利ですね。


まとめ

最近の LotusScript の実行環境は、Windows 上のノーツクライアントだけでなく、Nomad など多岐にわたります。ログにこの機能を付けておくとどのクライアントで発生した問題であるかを確認できますね。

これで、当初予定していた機能が完成しました。さまざまなアプリケーションに組み込んでログ効率的に管理し、サポートにかかる時間を極力削減しましょう。


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


0 件のコメント:

コメントを投稿