2012-04-12 18 views
39

Chúng tôi sử dụng slf4j + logback và đã xảy ra để có một số thư viện của bên thứ ba sử dụng tính năng ghi nhật ký. Làm thế nào để tôi thiết lập nó để sử dụng logback?Làm thế nào để thiết lập commons-logging để sử dụng logback?

+13

bạn đã thử thay thế commons-logging.jar bằng jcl-over-slf4j.jar chưa? – MahdeTo

+0

Đúng, đã khắc phục được sự cố, cảm ơn! :) – Artem

Trả lời

41

Câu trả lời là không sử dụng commons-logging.jar, vì SLF4J được thiết kế để thực hiện thao tác ghi nhật ký nào nhưng tốt hơn. Vì @MahdeTo đề cập đến, bạn cần sử dụng jcl-over-slf4j.jar.

Kiểm tra tài liệu từ trang web slf4j on migrating from commons-logging.

+18

Bạn đã không đọc câu hỏi chưa? Họ đang sử dụng thư viện của bên thứ ba sử dụng đăng nhập commons. –

+5

Thật vậy. Nhưng bạn có thể lưu đọc theo nghĩa đen và nghiêm ngặt theo nghĩa đen để thấy rằng tôi có nghĩa là OP không nên sử dụng commons-logging.jar. OP nhận được điều đó, vậy tại sao cần phải thêm nhận xét không mang tính xây dựng? –

+3

Cũng vui lòng kiểm tra Câu hỏi thường gặp về SLF4J, cho thấy cách đăng nhập bằng dấu phẩy có thể bị loại trừ khỏi phụ thuộc maven: http://slf4j.org/faq.html#excludingJCL – koppor

4

tôi đi qua câu hỏi này quá, và phát hiện ra jcl-over-slf4j.jar thực sự có thể giải quyết vấn đề, tôi không thể hiểu rằng tại sao commons-logging không thể sử dụng logback tự động, vì commons-logging là giao diện đăng nhập và logback là thực hiện, họ cần tích hợp tự động , cho đến khi tôi tìm thấy this:

Apache Commons logging (JCL) cung cấp một giao diện Log đó là dự định được cả trọng lượng nhẹ và một sự trừu tượng độc lập của bộ công cụ khai thác gỗ khác. Nó cung cấp trình phát triển middleware/tooling với trừu tượng hóa khai thác đơn giản, cho phép người dùng (nhà phát triển ứng dụng ) cắm vào một triển khai ghi nhật ký cụ thể.

JCL cung cấp triển khai Log mỏng wrapper cho các công cụ khai thác gỗ khác, bao gồm Log4J, Avalon LogKit (cơ sở hạ tầng khai thác gỗ Khung của Avalon), JDK 1.4, và một thực hiện của JDK 1.4 logging API (JSR-47) cho trước -1,4 hệ thống. Giao diện bản đồ chặt chẽ với Log4J và LogKit.

Rõ ràng không phải tất cả các giao diện đăng nhập có thể tích hợp độc đáo với thực hiện log đó có nghĩa là, nếu bạn thực sự muốn sử dụng logback, jcl-over-slf4j.jar là giải pháp duy nhất của bạn bây giờ vì JCL chỉ hỗ trợ Log4J, Logkit, JDK 1.4.

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