Używam Tomcat 7.0.28, działającego pod OpenJDK 1.7 na Ubuntu i próbuję zmodyfikować ciąg formatowania używany przez java.util.logging.SimpleFormatter. Zgodnie z Javadocs dla tej klasy, mogę określić właściwość java.util.logging.SimpleFormatter.format, aby zmienić format. I rzeczywiście, po uruchomieniu mojej aplikacji internetowej w Eclipse i zmianie tej właściwości w moim pliku logging.properties, działa.Modyfikowanie właściwości formatu java.util.logging.SimpleFormatter pod Tomcat
Jednak po wdrożeniu aplikacji na serwerze Tomcat ta właściwość nie ma żadnego efektu. Jestem przekonany, że mój plik właściwości jest poprawnie odczytać, jak inne zmiany, które sprawiają, że do niej rzeczywiście skuteczne (Czytam właściwości z pliku przy użyciu
LogManager.getLogManager().readConfiguration(new FileInputStream(file))
gdzie plik jest skonfigurowany za pomocą parametru w moim pliku web.xml. Próbowałem umieścić plik w WEB-INF/classes/logging.properties, bez żadnych zmian w zachowaniu:
Javadocs dla SimpleFormatter określają, czy zarówno plik właściwości, jak i właściwość systemowa określić ciąg formatowania, właściwość systemu ma pierwszeństwo. Zweryfikowałem, że właściwość systemowa nie jest ustawiona:
context.log ("Formatting system property is " + System.getProperty("java.util.logging.SimpleFormatter.format"));
w metodzie ServletContextListener.contextInitialized.
Oto złożyć moje właściwości rejestrowania w pełni
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
Próbowałem wszystkiego można myślę, w tym modyfikacji logging.properties zarówno w Tomcat/conf i katalogu JRE_HOME/lib. Nic nie robi żadnej różnicy.
obliczu tego samego problemu. Oto domysły: Właściwość właściwości 'java.util.logging.SimpleFormatter.format' została wprowadzona w języku Java 7. Wiem, że Tomcat w zasadzie używa nieco zmodyfikowanej wersji' java.util.logging'. Zastanawiam się, czy to jest powód. – peterh
Tak, nolan6000, miałem ten sam problem i było to związane z wersją JDK, której używałem. Dzięki. –