2011-12-01 38 views
25

Tôi có vấn đề với không gian vì vậy cần kích thước giới hạn của catalina.out đến 10M và giới hạn số lượng cuộn đến 3 ngày trước đó. Có thể chỉ định cấu hình logging.properties không? Cảm ơn.Làm cách nào để đặt số lượng cuộn tối đa và kích thước nhật ký tối đa cho tomcat?

+0

Tôi biết đây là một bài đăng cũ, nhưng vì tôi thích có tất cả các câu trả lời trong trang web này, tôi sẽ chỉ thêm rằng bạn cũng có thể theo [thay thế này] (http://java.dzone.com/articles/how-rotate-tomcat-catalinaout). Nó rất dễ thực hiện trong các máy Unix –

Trả lời

34

Khi Tomcat sử dụng nội bộ JUL để đăng nhập, bạn có thể sử dụng thuộc tính hệ thống java.util.logging.config.file để chỉ định đường dẫn tệp của tệp thuộc tính. Đối với định dạng của tệp thuộc tính này, bạn có thể tham chiếu đến JRE_HOME/lib/logging.properties (là tệp cấu hình mặc định được JUL sử dụng)

Tuy nhiên, JUL does not support the daily rotation. Nếu bạn không nhớ, bạn có thể sử dụng java.util.logging.FileHandler của nó để xoay các file bản ghi dựa trên kích thước tập tin nhật ký 's thay vì:

# Define the FileHandler 
handlers= java.util.logging.FileHandler 

# Configure the FileHandler 
java.util.logging.FileHandler.pattern = %h/java%u.log 
java.util.logging.FileHandler.limit = 1024000 
java.util.logging.FileHandler.count = 3 
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter 
java.util.logging.FileHandler.append=true 

Sau đó, mỗi tập tin đăng nhập sẽ có kích thước giới hạn 1.024.000 byte (1MB), và cuộn tối đa 3 tệp nhật ký đầu ra. Bạn có thể tham khảo Javadoc của java.util.logging.FileHandler để biết chi tiết về cấu hình.


Bạn phải triển khai Trình xử lý tệp nếu bạn muốn hỗ trợ xoay vòng hàng ngày bằng JUL. Tôi đã tìm thấy cách thực hiện tùy chỉnh từ this blog. Tôi chưa thử. Bạn có thể tham khảo nó nếu bạn có bất kỳ quan tâm.

+1

Đúng, nhưng câu hỏi là khoảng 3 ngày, không phải 3 tệp. – StKiller

+0

Có, bạn đúng.I đã đọc sai câu hỏi. JUL dường như không có trình xử lý tích hợp để xoay nhật ký hàng ngày. –

+4

Tại sao đặt giới hạn ở mức 2^10 * 1000, điều đó có vẻ hơi ngẫu nhiên? Tại sao không 1MB (1000000 byte) hoặc 1MiB (2^20/1048576 byte) –

Các vấn đề liên quan