Tôi có một ứng dụng hiện có thực hiện tất cả việc ghi nhật ký của nó dựa trên log4j. Chúng tôi sử dụng một số thư viện khác cũng sử dụng log4j hoặc đăng nhập chống lại Commons Logging, kết thúc bằng cách sử dụng log4j dưới các trang bìa trong môi trường của chúng tôi. Một trong những phụ thuộc của chúng tôi thậm chí còn ghi nhật ký đối với slf4j, điều này cũng hoạt động tốt vì cuối cùng nó cũng ủy quyền cho log4j.
Bây giờ, tôi muốn thêm ehcache vào ứng dụng này cho một số nhu cầu bộ nhớ đệm. Các phiên bản trước của ehcache đã sử dụng tính năng ghi nhật ký bằng commons, điều này sẽ hoạt động hoàn hảo trong trường hợp này, nhưng kể từ phiên bản 1.6-beta1, chúng đã loại bỏ sự phụ thuộc vào ghi nhật ký bằng dấu phẩy và thay thế bằng java.util.logging.
Không thực sự quen thuộc với ghi nhật ký JDK tích hợp có sẵn với java.util.logging, có một cách dễ dàng để có bất kỳ thông báo nhật ký nào được gửi đến JUL được ghi vào nhật ký dựa trên log4j, vì vậy tôi có thể sử dụng cấu hình hiện có của mình và thiết lập cho bất kỳ ghi nhật ký nào sắp tới từ ehcache?
Nhìn vào javadocs cho JUL, có vẻ như tôi có thể thiết lập một loạt các biến môi trường để thay đổi LogManager
việc triển khai nào được sử dụng và có lẽ sử dụng nó để bọc log4j Logger
s trong Logger
lớp JUL . Đây có phải là cách tiếp cận chính xác?
Thật trớ trêu khi việc sử dụng ghi nhật ký JDK tích hợp của thư viện lại gây ra một vấn đề đau đầu khi (hầu hết) phần còn lại của thế giới đang sử dụng thư viện của bên thứ ba.