log4j.whereを使用してアプリケーションレベル(java/java ee)ロギングのコンポーネントをビルドしようとしています。コンポーネントのjarファイルを作成し、どのアプリケーションでも使用できます。アプローチの下には私は、例えば、デバッグ、トレース、情報などのようにjava/java EEアプリケーションでlog4jを使用してコンポーネントをロギングする
単一および複数の引数substututionをログメソッドをオーバーライド
を踏襲しています
MessageFormatter.format("Hi {}. My name is {}.", "Alice", "Bob");
は、文字列"Hi Alice。My name is Bob"を返します。。は、例えば、トレース・メッセージ
public boolean isTraceEnabled() { return logger.isTraceEnabled();} public void trace(String msg, Throwable throwable, Object... args) { log(isTraceEnabled(),throwable,msg,args);// } private void log(boolean isEnabled, Throwable throwable, String msg,Object... args) { if(throwable!=null){ String message=MessageFormatter.getFormattedMessage(throwable);//Formated the exception message msg=msg+message; throwable=null; } if (args == null || args.length == 0) { logger.log(FQCN,LEVELmsg, throwable); } else { if (isEnabled) { String formattedMsg = MessageFormatter.arrayFormat(msg, args);//single and multiple argument substutution logger.log(FQCN, UtilConstant. Level.TRACEformattedMsg, throwable); } } }
のために私の目的は、すべてのJava EEアプリケーションに応えることができるコンポーネントを構築することであると言います。それが2つのアプローチで十分か、それ以上のことをする必要があります。助けてください。
これは、log4j(またはslf4jなど)がまだ実行していないことは何ですか? – Thilo