Ubuntu の OpenJDK 1.7 で実行されている Tomcat 7.0.28 を使用しており、java.util.logging.SimpleFormatter で使用されるフォーマット文字列を変更しようとしています。そのクラスの Javadocs によると、プロパティ java.util.logging.SimpleFormatter.format を指定してフォーマットを変更できます。実際、Eclipse で webapp を実行し、logging.properties ファイルでこのプロパティを変更すると、機能します。
ただし、アプリを Tomcat にデプロイすると、このプロパティは何の効果もないようです。プロパティファイルに加えた他の変更が実際に有効になるため、プロパティファイルが正しく読み取られていると確信しています(次を使用してファイルからプロパティを読み取っています
LogManager.getLogManager().readConfiguration(new FileInputStream(file))
ファイルは、web.xml ファイルのパラメーターを介して構成されます。ファイルを WEB-INF/classes/logging.properties に入れてみましたが、動作は変わりません。
SimpleFormatter の Javadoc では、プロパティ ファイルとシステム プロパティの両方で書式設定文字列が指定されている場合、システム プロパティが優先されることが指定されています。システム プロパティが設定されていないことを確認しました
context.log ("Formatting system property is " + System.getProperty("java.util.logging.SimpleFormatter.format"));
ServletContextListener.contextInitialized メソッドで。
これが私のログ プロパティ ファイルの全文です。
handlers=java.util.logging.ConsoleHandler
# Default logging level for root logger
.level=FINE
# Set the level for the ConsoleHandler
java.util.logging.ConsoleHandler.level=FINE
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=[%1$tF %1$tr] %3$s %4$s: %5$s %n
TOMCAT/conf と JRE_HOME/lib ディレクトリの両方で logging.properties を変更するなど、考えられることはすべて試しました。何も違いはないようです。