2006年08月18日

ログ生成用クラス (2)

ログ生成用クラス (1) に引き続き、ログ生成用クラスの使い方をご紹介します。

ログ機能は常に出力されるものですが、トレース情報 はレベル付けされた出力になります。 以下の単純な例を見てみてください。
  Dim aCoreLog As New CoreLog(Nothing, 2, "Sample")

Call aCoreLog.traceText(|レベル0|, 0)
Call aCoreLog.traceText(|レベル1|, 1)
Call aCoreLog.traceText(|レベル2|, 2)
Call aCoreLog.traceText(|レベル3|, 3)
Call aCoreLog.traceText(|レベル4|, 4)

Call aCoreLog.closeLog()
CoreLog クラスを生成する時の、第二引数が最大のトレースレベルの指定になります。 そして traceText() メソッドの第二引数が、出力する情報のレベル値を指定しています。

最大トレースレベル以下のレベル値が指定された場合のみ、メッセージがトレース欄に追記されます。 上記の例では最大トレースレベルとして 2 が指定されていますから、レベル0〜レベル2 の行だけが実際のログ文書に保存される仕組みになっています。

以下は、少し現実的な利用イメージです。
  maxLevel% = Cint(profileDoc.traceLevel(0))
Dim aCoreLog As New CoreLog(Nothing, maxLevel%, "Sample")

' 実際の処理1...
Call aCoreLog.traceText(|デバッグ用の確認情報...|, 1)
Call aCoreLog.traceText(|問題解決用の詳細情報...|, 2)

' 実際の処理2...
Call aCoreLog.traceText(|デバッグ用の確認情報...|, 1)
Call aCoreLog.traceText(|問題解決用の詳細情報...|, 2)

Call aCore.closeLog()
この例では、トレースレベルはプロフィール文書で指定するようにしています。 通常の運用では 0 を、開発時には 1 を、問題が発生して詳細な情報が欲しいときには 2 というように、状況に応じて指定すれば良いでしょう。

開発時に詳細な情報が得られるのは便利です。 また本番環境でトラブルが発生した場合、このトレース情報は非常に大きな助けになるのではないでしょうか。

さて次回は、この CoreLog クラスの実装を見ていきましょう。
posted by yamachan at 00:15| Comment(0) | TrackBack(0) | my設計パターン
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/1132252

この記事へのトラックバック