MessageWriter実装サービス jp.ossc.nimbus.service.writer.OneWriteFileMessageWriterService

jp.ossc.nimbus.service.writer.OneWriteFileMessageWriterServiceは、WritableRecordをファイルに出力するMessageWriter実装サービスです。
ファイル名に、WritableRecordやjp.ossc.nimbus.service.context.Contextから取得した値を使用できる。

以下に静的にファイル名を決めて出力する場合のサービス定義を示します。

  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. <!-- ファイルに出力するMessageWriterサービス -->
  8. <service name="Writer"
  9. code="jp.ossc.nimbus.service.writer.OneWriteFileMessageWriterService">
  10. <!-- 追加書込みするように指定する。 -->
  11. <attribute name="Append">true</attribute>
  12. <!-- ファイル名を指定する。 -->
  13. <attribute name="File">log/sample.log</attribute>
  14. </service>
  15. </manager>
  16. </server>

以下に動的にファイル名を変えて出力する場合のサービス定義を示します。

  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. <!-- ファイルに出力するMessageWriterサービス -->
  8. <service name="Writer"
  9. code="jp.ossc.nimbus.service.writer.OneWriteFileMessageWriterService">
  10. <!-- ファイル名の前置詞を指定する。 -->
  11. <attribute name="FilePrefix">log/sample</attribute>
  12. <!-- ファイル名を指定する。
  13. 入力のWritableRecordやContextからファイル名の一部を決める場合は、キー名を"%"で囲んで指定する。
  14. -->
  15. <attribute name="File">_%TIMESTAMP%_%REQUEST_ID%</attribute>
  16. <!-- ファイル名の後置詞を指定する。 -->
  17. <attribute name="FilePostfix">.log</attribute>
  18. <!-- ファイル名の一部を取得するためのContextサービスのサービス名を指定する。 -->
  19. <attribute name="ContextServiceName">#ThreadContext</attribute>
  20. <depends>ThreadContext</depends>
  21. </service>
  22. <!-- スレッド単位でのコンテキスト情報を格納するContextサービス -->
  23. <service name="ThreadContext"
  24. code="jp.ossc.nimbus.service.context.ThreadContextService"/>
  25. </manager>
  26. </server>


出力/MessageWriter