9

java.util.logging.ConsoleHandler.pattern という行を追加することでパターンを変更できると思いますが、 %u %h などのパターン情報はどこで確認できますか?

4

2 に答える 2

29

この質問はすでに誰かによって回答されていますが、いくつかの新しい情報を提供したいと思います:

Java 7 以降、.log ファイルを使用してログ メッセージの出力パターンを構成できますSimpleFormatter

このプロパティは、ロギング プロパティ ファイルで使用できます。

java.util.logging.SimpleFormatter.format = [%1$tc] %4$s: %2$s - %5$s %6$s%n

パターン構文の詳細が必要な場合は、http: //docs.oracle.com/javase/7/docs/api/java/util/Formatter.htmlを参照してください。

上記のプロパティ値の数字は、フォーマッタに提供されるパラメータを示しています。詳細については、Java の公式ドキュメントを参照してください: http://docs.oracle.com/javase/7/docs/api/java/util/logging/SimpleFormatter.html

構成ファイルの例logging.properties:

handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
# Pattern works since Java 7
java.util.logging.SimpleFormatter.format = [%1$tc] %4$s: %2$s - %5$s %6$s%n

# Configure logging levels
# Available log levels are:
# OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL

# root logger
.level = WARNING

# child logger
org.example.level = ALL

Java プログラムを呼び出すときに、構成ファイルをパラメーターとして指定できます。

java -Djava.util.logging.config.file=logging.properties -jar myProgram.jar
于 2013-02-22T12:12:13.890 に答える
8

編集:以下はJava 6の時点で書かれています。7以降については、以下のDavidの回答を参照してください。

AFAIKそのようなプロパティはありません。ありますが、これはログ形式ではなく、出力ファイル名java.util.logging.FileHandler.patternのパターンを設定するためのものです。

util logging APIで出力形式を構成する方法は、を設定することFormatterです。デフォルトでは、SimpleFormatterはに接続されていますConsoleHandler。このフォーマッタは単にパターンをハードコーディングするだけで、設定することはできません。

別の出力形式が必要な場合は、独自の出力形式を実装するか、 logbackFormatterなどの別のログフレームワークを使用する必要があります。

于 2011-03-24T09:16:48.537 に答える