Tôi đang sử dụng Tomcat 7.0.28, chạy dưới OpenJDK 1.7 trên Ubuntu và đang cố sửa đổi chuỗi định dạng được sử dụng bởi java.util.logging.SimpleFormatter. Theo Javadocs cho lớp đó, tôi có thể chỉ định thuộc tính java.util.logging.SimpleFormatter.format để thay đổi định dạng. Và thực sự, khi tôi chạy ứng dụng web của tôi trong Eclipse và thay đổi thuộc tính này trong tệp logging.properties của tôi, nó hoạt động.Sửa đổi thuộc tính định dạng java.util.logging.SimpleFormatter dưới Tomcat
Tuy nhiên, khi tôi triển khai ứng dụng cho Tomcat, thuộc tính này dường như không có bất kỳ ảnh hưởng nào. Tôi tin tưởng rằng tập tin thuộc tính của tôi đang được đọc một cách chính xác, như những thay đổi khác mà tôi làm cho nó làm thực sự có hiệu lực (Tôi đang đọc các thuộc tính trong từ một tập tin sử dụng
LogManager.getLogManager().readConfiguration(new FileInputStream(file))
nơi tập tin được cấu hình thông qua một tham số trong tệp web.xml của tôi. Tôi đã thử đặt tệp trong WEB-INF/classes/logging.properties, không thay đổi hành vi.
Javadocs cho SimpleFormatter chỉ định rằng nếu cả tệp thuộc tính và thuộc tính hệ thống xác định chuỗi định dạng, thuộc tính hệ thống được ưu tiên. Tôi đã xác minh rằng thuộc tính hệ thống không được đặt là
context.log ("Formatting system property is " + System.getProperty("java.util.logging.SimpleFormatter.format"));
trong phương thức ServletContextListener.contextInitialized.
Dưới đây là tập tin thuộc tính đăng nhập của tôi đầy đủ
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
Tôi đã thử tất cả mọi thứ tôi có thể nghĩ đến, trong đó có sửa đổi logging.properties ở cả TOMCAT/conf và JRE_HOME/lib. Không có gì có vẻ tạo nên sự khác biệt.
Đối mặt với cùng một vấn đề. Đây là một dự đoán: Các tính năng bất động sản của java.util.logging.SimpleFormatter.format' được giới thiệu trong Java 7. Tôi biết rằng Tomcat về cơ bản sử dụng một phiên bản sửa đổi hơi của 'java.util.logging'. Tôi tự hỏi nếu đó là lý do. – peterh
Có nolan6000, tôi gặp vấn đề tương tự và nó liên quan đến phiên bản JDK mà tôi đang sử dụng. Cảm ơn. –