0

java.util.logging からの Level クラスのローカライズされたメッセージが Java7 で機能しないことに気付きました。の読み込みに問題があるようRessourceBundleですsun.util.logging.resources.logging

次のスニペットを考えてみましょう

Locale.setDefault(Locale.GERMANY);
String msg = Level.SEVERE.getLocalizedName();
System.err.println(msg);

Java 6では印刷されます

SCHWERWIEGEND

Java 7では印刷されます

SEVERE

Locale クラスが jdk7 で再実装されたことを説明する記事を読みました。それでも、これはおかしいようです。Java 7の設定も試してみました

Locale.setDefault(Category.DISPLAY, Locale.GERMANY);
then 
Locale.setDefault(Category.FORMAT, Locale.GERMANY);
finally 
System.setProperty("sun.locale.formatasdefault", "true");

しかし、どちらも機能していないようです。

これは JVM のバグですか、それとも何か見逃していましたか?

4

1 に答える 1

0

これはJDK-8028233に関連している可能性があります。「 java.util.logging.SimpleFormatter .format」システム プロパティまたは LogManager プロパティを介してフォーマット文字列を指定することにより、日付フォーマットを変更できます。

于 2013-11-15T21:53:07.190 に答える