Apcoordinator ユーザーズガイド |
目次 |
第2部 Apcoordinatorコアの機能 | > 第4章 APIを使ったプログラミング | > 4.2 アプリケーションログ |
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; } }
ログの出力フォーマット設定を併用することで、処理対象のメソッド名や、時刻によってログの出力先を変更することが可能です。
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サーバのマニュアルを参照してください。
目次 |