若干混乱パターンプロパティは、パターンが実行時に置換される、以下の特別な構成要素を含む文字列で構成され、この
handlers=java.util.logging.FileHandler
# Default global logging level.
.level=INFO
#logging level for the foo.bar package
foo.bar.level=CONFIG
java.util.logging.FileHandler.pattern=%h/java%u.log
のために使用することができますローカルパス名のセパレータ
「%のT」システムの一時ディレクトリ
「%のH」「のuser.home」システム支柱の値erty
回転ログ
を区別するため、 "%gの" 世代番号競合
を解決するために、 "%がU" 一意の番号 "%%" 単一のパーセント記号に変換 "%"
複数のファイルにログを記録したい場合にはトリックがあることがある見ることができるように、あなたは複数の名前付きロガー
#FileHandler for file1
java.util.logging.FileHandler.pattern = logging_property_test.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
#FileHandler for file2
logging.FileHandler2.pattern = logging_property_test2.log
logging.FileHandler2.limit = 50000
FileHandler.count = 1
logging.FileHandler2.formatter = java.util.logging.SimpleFormatter
#setting handler for logger1
logging.PropertyTestingLogger.handlers=java.util.logging.FileHandler
#setting handler for logger2
logging.PropertyTestingLogger2.handlers=logging.FileHandler2
ための設定複数のハンドラによってそれを行うことができます 残念ながらジャワの作成者が予想していなかった、誰もが複数のファイルにログインする:カスタムクラスで、何もしませんが、FileHandlerの
package logging;
import java.io.IOException;
import java.util.logging.FileHandler;
public class FileHandler2 extends FileHandler {
public FileHandler2() throws IOException, SecurityException {
super();
}
}
背景を拡張logging.FileHandler2。それはされていない、のjava.util.loggingで
public class FileHandler extends StreamHandler {
private String pattern;
private void configure() {
String cname = getClass().getName();
pattern = manager.getStringProperty(cname + ".pattern", "%h/java%u.log");
しかし、このパターンを使用して、名前付きロガー(org.imixs.workflow)にのみ影響することを指定するにはどうすればよいですか?一般的なサーバーのメッセージをアプリケーション固有のログファイルにリダイレクトしたくありません。 – Ralph
私はそれに応じて自分の投稿を更新しました。この例では、デフォルトのログレベルはinfoに設定されていますが、設定するfoo.barパッケージは –
はいですが、私の質問です。ログファイル 'foo.bar'に別の出力ファイルを設定することは可能ですか?私はあなたが各パッケージのための別のログレベルを指定できることを知っています。しかし、別々のログファイルをどのように定義するのですか?正直なところ私は知らない。 – Ralph