NotesLog クラス

バックグラウンドで実行される LotusScript® や Java™ のエージェントには、NotesLog クラスを使用します。NotesLog クラスをエージェントコードに追加すると、ランタイムの情報が記録されます。この方法は、変数値の確認、エラー処理、コードロジックの検証には特に便利です。デフォルトでは、NotesLog クラスの情報がエージェントログに記録されます。記録する項目を設定するときは、エージェントの上限を超えないように注意します。

NotesLog を使用するには、次の LotusScript 例を参考にしてください。この例では、文書の件名を取得することにより、エージェントが処理する文書が追跡されます。情報はエージェントログに記録されます。

Dim Dim agentLog As new NotesLog("Agent log")
Dim collection As NotesDocumentCollection
Dim db As NotesDatabase
Dim s As NotesSession
Dim count As Integer
Call agentLog.OpenAgentLog
Set s=New NotesSession
Set db = s.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set note = collection.GetFirstDocument
count = collection.Count
Do While (count >0)
Subject = note.Subject
Call agentLog.LogAction("Processing:"+Subject(0))
Set note = collection.GetNextDocument(note)
count = count-1
Loop
Call agentLog.Close

エージェントログの上限

エージェントログには、64 KB の情報しか保存できません。情報の書き込み量がこの上限を超えると、次のメッセージが表示されて、エージェントの実行は停止されます。

<データベース名> でのエージェント <エージェント名> の実行エラー (Error executing agent <agent-name> in <database-name>)。メモリ指定要求が 65,000 バイトを超えました。

エージェントログに記録する情報がこの上限を超えないよう注意してください。上限を超えた場合は、NotesLog クラスのコードを書き直して、実行ごとに記録される情報量を減らします。