Apcoordinator ユーザーズガイド |
目次
![]() ![]() |
第2部 Apcoordinatorコアの機能 | > 第5章 アプリケーションログ |
com.fujitsu.uji.log.writer.FilterWriter
クラスを使用します。
import com.fujitsu.uji.*; import com.fujitsu.uji.log.*; import com.fujitsu.uji.log.writer.FilterWriter; public class SampleApplication extends com.fujitsu.uji.ApplicationProfile { public LogComposer newLogComposer() { LogComposer lc; try { String pattern = "[0-9][0-9][0-9][0-9]/[0-1][0-9]/[0-3][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9] Warning.*$"; FilterWriter writer = new FilterWriter(pattern); lc = new LogComposer(new PrintLogSink(writer, new LineLogFormat("%d %m"))); } catch(IllegalArgumentException e) { return null; // デフォルトを使用 } lc.setQueueSize(1000); lc.enableQueue(); lc.setLogLevel(9); return lc; } }
ログの出力フォーマット設定を併用することで、処理対象のメソッド名や、時刻によってログの出力先を変更することが可能です。
FilterWriter
クラスには補助文字の使用に関して以下の注意事項があります。
- 正規表現パターンに補助文字を含めることはできません。
- ログに出力する文字列を正規表現パターンとマッチさせる際、文字列中に補助文字が含まれている場合は、その補助文字は1文字としては扱われず2文字として扱われます。
com.fujitsu.uji.log.writer.SyslogWriter
クラスを使用します。SyslogWriter
クラスでは、Syslogサーバのホスト名や、ログの機能(Facility値)、ログの重大度(Severity値)を設定することが可能です。
import com.fujitsu.uji.*; import com.fujitsu.uji.log.*; import com.fujitsu.uji.log.writer.SyslogWriter; public class SampleApplication extends com.fujitsu.uji.ApplicationProfile { public LogComposer newLogComposer() { LogComposer lc; try { SyslogWriter writer = new SyslogWriter("localhost"); writer.setSeverity(SyslogWriter.SEVERITY_ERR); lc = new LogComposer(new PrintLogSink(writer, new LineLogFormat("%d %m"))); } catch(IllegalArgumentException e) { return null; // デフォルトを使用 } lc.setQueueSize(1000); lc.enableQueue(); lc.setLogLevel(9); return lc; } }
Syslogサーバの設定方法は、ご使用になるSyslogサーバのマニュアルを参照してください。
目次
![]() ![]() |