Logger実装サービス jp.ossc.nimbus.service.log.LogService

jp.ossc.nimbus.service.log.LogServiceは、引数で指定されたメッセージIDでMessageRecordFactoryからLogMessageRecordを取得し、Queueに投入して、非同期でLogWritableRecordFactoryServiceを使ってWritableRecordに変換しMessageWriterで出力するLogger実装サービスです。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.message.MessageRecordFactoryメッセージIDからログメッセージを取得する。MessageRecordの実装クラスとして、ログメッセージ専用のLogMessageRecordImplを使用します。
jp.ossc.nimbus.service.queue.Queueフォーマット及び出力を非同期で行う
jp.ossc.nimbus.service.writer.WritableRecordFactoryメッセージをフォーマットする。実装サービスとして、ログ出力専用のLogWritableRecordFactoryServiceを使用します。
jp.ossc.nimbus.service.writer.MessageWriterメッセージを出力する
jp.ossc.nimbus.service.log.LogCategoryメッセージIDに紐付けられたカテゴリに出力する

以下に独自のメッセージを定義して、コンソールにログを出力するサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- ログ出力を行うLoggerサービス -->
  8. <service name="Logger"
  9. code="jp.ossc.nimbus.service.log.LogService">
  10. <!-- メッセージを提供するMessageRecordFactoryサービスのサービス名を設定する -->
  11. <attribute name="MessageRecordFactoryServiceName">#MessageRecordFactory</attribute>
  12. <depends>MessageRecordFactory</depends>
  13. </service>
  14. <!-- メッセージを提供するMessageRecordFactoryサービス -->
  15. <service name="MessageRecordFactory"
  16. code="jp.ossc.nimbus.service.message.MessageRecordFactoryService">
  17. <attribute name="MessageRecordClassName">jp.ossc.nimbus.service.log.LogMessageRecordImpl</attribute>
  18. <attribute name="MessageFiles">MyMessage</attribute>
  19. </service>
  20. </manager>
  21. </server>

ログメッセージ定義ファイルは、MessageRecordFactoryServiceのメッセージ定義ファイルを拡張したもので、LogMessageRecordを参照して下さい。

ログの出力項目、及びそのフォーマットを編集する方法は、LogWritableRecordFactoryServiceを参照して下さい。

ログカテゴリを定義する方法は、SimpleCategoryServiceを参照して下さい。

複数のログカテゴリに出力するように定義する方法は、GroupCategoryServiceを参照して下さい。


ログ/Logger