2012-04-20 19 views
15

Tôi biết nó một sự khác biệt góiSự khác biệt giữa Logger.getLogger (className) và LogFactory.getLog (className)?

1) org.apache.log4j.Logger logger = Logger.getLogger(clazz);

2) org.apache.commons.logging.Log log = LogFactory.getLog(clazz);

Người đầu tiên sử dụng logger qua log4j và một trong những thứ hai sử dụng commons.logging. Chúng tôi có một dự án rất lớn, trong một số lớp logger được cấu hình bằng cách sử dụng log4j và trong một số trường hợp là commons.logging.

Tôi đã tìm thấy tệp thuộc tính log4j. Có tệp thuộc tính tương tự cho commons.logging không? Tôi định cấu hình cho việc ghi nhật ký ở đâu? Tôi không thể xem nhật ký được tạo bởi commons-logging.

Mọi trợ giúp đều được đánh giá cao.

+2

Ghi nhật ký kết thúc tốt đẹp các thư viện ghi nhật ký khác; nếu bạn đang sử dụng log4j nó sẽ sử dụng tập tin cấu hình đó. –

+0

Vì vậy, đăng nhập commons sử dụng Log4j nội bộ? Vui lòng giải thích ý của bạn là gì. Tôi có rất ít ý tưởng về điều này. –

+0

bạn có thể sử dụng tệp commons-logging.properties – Satya

Trả lời

9

Vâng, commons-logging là một API mặt tiền đã được giả sử trừu tượng bạn khỏi khung đăng nhập cơ bản (trong thực tế đã có một sự lựa chọn giữa java.util.logging) để bạn có thể chuyển đổi từ một đến khác mà không cần chạm vào mã - chỉ bằng cách chuyển đổi các thư viện có sẵn trên CLASSPATH.

Thật không may do một số lỗi thiết kế có vấn đề với môi trường tải lớp phức tạp, như máy chủ ứng dụng. Hiện tại nó được thay thế hiệu quả bởi .

Trong trường hợp của bạn, tôi khuyên bạn nên gắn bó với một API - hoặc là Log4J hoặc commons-logging, mặc dù commons-logging (rất có thể) ủy nhiệm cho log4J. Bạn cũng có thể di chuyển sang sử dụng SLF4J và cài đặt các API bắc cầu, nhưng điều này hơi nâng cao hơn một chút.

+0

Tôi nghĩ rằng bạn có nghĩa là supersceded ... không bị đàn áp. –

+1

@Tomasz Nurkiewicz: Tôi có thể thấy nhật ký được định cấu hình thông qua log4j, trong khi những người đăng nhập từ commons-logging không được tạo. Một số vấn đề cấu hình bạn nghĩ? –

+0

@StephenC: tất nhiên, cảm ơn! –

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