Nimbus2のジャーナルサービスを提供します。

エンタープライズなシステムを構築する場合、各層でジャーナルを取得する必要があります。
ジャーナルには、

などのある程度決まった情報を取得します。
但し、入出力情報はシステムや取得する層によって異なり、出力するフォーマットや媒体も様々です。

まず、アプリケーションは、任意のオブジェクトをジャーナルに出力します。
その際、渡したオブジェクト毎に違うフォーマットで出力したくなるかもしれません。
例えば、文字列はそのままだけど、java.util.Dateオブジェクトは一定の日付フォーマットで出力したいとか。
例外オブジェクトならば、スタックトレースを出力したいとか。
そのようなオブジェクト毎の出力編集を行う概念を抽象化したインタフェースが、JournalEditorです。
また、オブジェクト毎に出力編集を行うJournalEditorをマッピングする機能を抽象化したインタフェースが、EditorFinderです。

次に実際の媒体への出力ですが、その機能はWriterパッケージCategoryを使用します。

これらの要件を満たしつつ、ジャーナルを取得する機能を抽象化したのがJournalインタフェースです。

このパッケージでは、Journalインタフェースを実装したサービスを提供します。