Apcoordinator ユーザーズガイド |
目次
![]() ![]() |
第2部 Apcoordinatorコアの機能 | > 第5章 アプリケーションログ | > 5.1 基本機能 |
ログ出力を無効にする場合は、空のLogComposerオブジェクトを返します。
public class SampleApplication extends com.fujitsu.uji.ApplicationProfile { public LogComposer newLogComposer() { LogComposer lc; try { lc = LogComposer.getFileOutputInstance("c:\\myapp\\mylog.txt", true, new LineLogFormat("%d %m")); } catch(IOException e) { return null; // デフォルトを使用 } lc.setQueueSize(1000); lc.enableQueue(); lc.setLogLevel(9); return lc; } }
派生クラスでは、ログ本文の編集を行ったあとに、LogComposerクラスのprintlnメソッドを呼び出し、ログ出力を行います。
public LogComposer newLogComposer() { return new LogComposer(); }
ユーザ独自のメソッドを定義し、メッセージの編集を行ってprintlnメソッドを呼び出し、ログを出力するLogComposer派生クラスの作成例を以下に示します。
/** * メッセージの編集を行う派生クラスの作成例です。 * この例では、基底クラスに LogComposerを用いています。 * 再定義するメソッドは、利用するアプリケーションの要件により異なります。 */ package my.sample; import com.fujitsu.uji.log.LogComposer; public class MyLogComposer extends LogComposer { public MyLogComposer() { } public void println(int level, Object obj, int back) { // 指定のログレベルがログ出力対象になっているかを判断します。 if( isLogged(level) ) { // メッセージの編集を行います。 StringBuffer buf = new StringBuffer(); buf.append(" PREFIX TEXT "); buf.append( String.valueOf(obj) ); // 編集後に、基底クラスのメソッドを呼び出します。 output(level, buf.toString(), back); } } }
/** * メッセージの編集を行う派生クラスの作成例です。 * この例では、基底クラスに LogComposerを用いています。 */ package my.sample; import com.fujitsu.uji.log.LogComposer; public class MyLogComposer2 extends LogComposer { public MyLogComposer2() { } public void myPrintln(int level, Object obj1, Object obj2, int back) { // 指定のログレベルがログ出力対象になっているかを判断します。 if( isLogged(level) ) { // メッセージの編集を行います。 StringBuffer buf = new StringBuffer(); buf.append( String.valueOf(obj1) ); buf.append( "," ); buf.append( String.valueOf(obj2) ); // 編集後に、基底クラスのメソッドを呼び出します。 println(level, buf.toString(), back); } } }
LogComposer派生クラスを作成する場合は、デフォルトコンストラクタを定義してください。
目次
![]() ![]() |