nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
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に紐付けられたカテゴリに出力する |
以下に独自のメッセージを定義して、コンソールにログを出力するサービス定義を示します。
- <?xml version="1.0" encoding="Shift_JIS"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- ログ出力を行うLoggerサービス -->
- <service name="Logger"
- code="jp.ossc.nimbus.service.log.LogService">
- <!-- メッセージを提供するMessageRecordFactoryサービスのサービス名を設定する -->
- <attribute name="MessageRecordFactoryServiceName">#MessageRecordFactory</attribute>
- <depends>MessageRecordFactory</depends>
- </service>
- <!-- メッセージを提供するMessageRecordFactoryサービス -->
- <service name="MessageRecordFactory"
- code="jp.ossc.nimbus.service.message.MessageRecordFactoryService">
- <attribute name="MessageRecordClassName">jp.ossc.nimbus.service.log.LogMessageRecordImpl</attribute>
- <attribute name="MessageFiles">MyMessage</attribute>
- </service>
- </manager>
- </server>
ログメッセージ定義ファイルは、MessageRecordFactoryServiceのメッセージ定義ファイルを拡張したもので、LogMessageRecordを参照して下さい。
ログの出力項目、及びそのフォーマットを編集する方法は、LogWritableRecordFactoryServiceを参照して下さい。
ログカテゴリを定義する方法は、SimpleCategoryServiceを参照して下さい。
複数のログカテゴリに出力するように定義する方法は、GroupCategoryServiceを参照して下さい。