nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.log.SimpleCategoryServiceは、LogServiceがログ出力項目を含むMapを出力依頼するLogCategory実装サービスです。
jp.ossc.nimbus.service.writer.SimpleCategoryServiceの拡張クラスで、カテゴリ名、出力レベルとラベルのマッピング、出力レベルの有効範囲を定義する事ができます。
このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
下位サービスインタフェース | 用途 |
jp.ossc.nimbus.service.writer.WritableRecordFactory | 入力をjp.ossc.nimbus.service.writer.WritableRecordにフォーマットする。実装サービスとして、ログ出力専用のLogWritableRecordFactoryServiceを使用します。 |
jp.ossc.nimbus.service.writer.MessageWriter | jp.ossc.nimbus.service.writer.WritableRecordを出力する |
以下に簡単なサービス定義を示します。
- <?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">
- <!-- ログ出力先となるLogCategoryサービスのサービス名を設定する -->
- <attribute name="CategoryServiceNames">#LogCategory</attribute>
- <!-- ログメッセージを提供するMessageRecordFactoryサービスのサービス名を設定する -->
- <attribute name="MessageRecordFactoryServiceName">#MessageRecordFactory</attribute>
- <depends>Category</depends>
- <depends>MessageRecordFactory</depends>
- </service>
- <!-- ログ出力先となるLogCategoryサービス -->
- <service name="LogCategory"
- code="jp.ossc.nimbus.service.log.SimpleCategoryService">
- <!-- カテゴリ名を設定する -->
- <attribute name="CategoryName">Sample</attribute>
- <!-- 出力レベルに対するラベルを設定する。
- 出力レベル数値範囲最小値:出力レベル数値範囲最大値=ラベル
- のフォーマットで複数指定する。
- -->
- <attribute name="Labels">
- 0:9=DEBUG
- 10:19=INFO
- 20:29=WARN
- 30:39=ERROR
- 40:49=FATAL
- </attribute>
- <!-- 有効な出力レベル数値の範囲を設定する
- INFOからFATALまで出力する
- -->
- <attribute name="PriorityRange">10:49</attribute>
- <!-- このカテゴリへの出力を行うMessageWriterサービスのサービス名を設定する -->
- <attribute name="MessageWriterServiceName">#ConsoleMessageWriter</attribute>
- <!-- このカテゴリへの出力フォーマットを提供するWritableRecordFactoryサービスのサービス名を設定する -->
- <attribute name="WritableRecordFactoryServiceName">#ConsoleWritableRecordFactory</attribute>
- <depends>
- <!-- コンソールに出力するMessageWriterサービス -->
- <service name="ConsoleMessageWriter"
- code="jp.ossc.nimbus.service.writer.ConsoleWriterService"/>
- </depends>
- <depends>
- <!-- 出力フォーマットを提供するWritableRecordFactoryサービス -->
- <service name="ConsoleWritableRecordFactory"
- code="jp.ossc.nimbus.service.log.LogWritableRecordFactoryService">
- <attribute name="Format">%DATE% [%CODE%,%PRIORITY%]%MESSAGE%</attribute>
- <attribute name="DateFormat">yyyy/MM/dd HH:mm:ss</attribute>
- </service>
- </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>
MyMessage.def
APL_001,Good morning!,0,Sample APL_002,Good afternoon\\, @0!,10,Sample APL_003,Good evening\\, @0 and @1!,20,Sample APL_004,Good night\\, #0 and @1!,30,Sample APL_005,Bye @0!,40,Sample