Tôi có cần nâng cấp log4j lên slf4j [đã đóng]


10

Chúng tôi đang xem xét ứng dụng web JEE của mình để biết một số tái cấu trúc theo kế hoạch và một trong những gợi ý là thay thế log4jbằng logbackhoặcslf4j

Nhóm nghiên cứu không rõ liệu chúng tôi có nên làm điều này hay không - bởi vì hiện tại chúng tôi muốn theo dõi nếu nó không bị hỏng, đừng sửa trong khu vực này.

Chỉnh sửa: Tôi không yêu cầu so sánh các khung ghi nhật ký, nhưng liệu đó có phải là yếu tố tái cấu trúc có giá trị để thay đổi khung khi chúng tôi khá hài lòng với log4j

Câu trả lời:


18

Một câu hỏi quan trọng bạn nên tính đến: Bạn có xây dựng thư viện được người khác sử dụng hay bạn xây dựng sản phẩm cuối cùng?

Trong trường hợp đầu tiên, SLF4j rất quan trọng, bởi vì ai đó sẽ tích hợp thư viện của bạn vào phần mềm của anh ấy đã đăng nhập tại chỗ và thật tuyệt nếu các lớp của bạn chỉ sử dụng điều đó.

Trong trường hợp thứ hai, tôi sẽ nói bạn có thể để nó như vậy. Có thể nghĩ về việc sử dụng slf4j trong dự án tiếp theo.


7

Đừng. Thay vào đó tốt hơn dành thời gian của bạn để thực hiện các tính năng hữu ích, có giá trị.


6
-1: đăng nhập cần phải tốt nhất có thể!

7
Vì vậy, log4j, mà họ sử dụng, không đủ hữu ích? Thay thế các khung chỉ vì nó dễ hiểu, là một sự lãng phí thời gian. OP thậm chí còn tuyên bố đăng nhập không bị phá vỡ.
Martin Wickman

1
Tôi sẽ không bỏ phiếu này. Martin có thể đúng. Nếu Jose có một số sản phẩm hoàn chỉnh (không phải là thư viện, hãy xem câu trả lời của tôi) anh ấy nên để nguyên như vậy và dành thời gian ở một nơi khác ...
Tim Büthe

2
@ Thorbjørn, không, đăng nhập (như các tính năng nói chung) cần phải tốt như cần thiết . Nếu họ không có vấn đề gì với Log4J, (btw bạn đã không trích dẫn bất kỳ điều gì cần thiết để thay thế nó), có lẽ hầu hết thời gian sử dụng tốt hơn.
Péter Török

1
-1: Sở thích vô điều kiện của người này hơn người khác là IMHO iswrong. Chỉ cần thử đối chiếu câu trả lời này với điều kiện của câu trả lời của Tim Bueth.
Ajeet Ganga

1

Nếu Log4J làm việc cho bạn, không có lý do gì để thay đổi điều đó. Nếu không, hãy tìm một giải pháp thay thế thực hiện những gì bạn cần, có thể hoặc không phải là slf4j.

Chỉ vì ai đó nói rằng một cái gì đó đẹp hơn một cái gì đó khác nên không bao giờ là một lý do để thay đổi toàn bộ ứng dụng của bạn (hoặc chấp nhận một cái gì đó mới cả).


0

Slf4j là một API cho phép bạn chọn sử dụng log4j, logback hoặc ghi nhật ký jdk mặc định tại thời điểm triển khai thay vì quyết định tại thời điểm biên dịch (đó là điều xảy ra khi bạn mã trực tiếp vào log4j)

Slf4j cũng cung cấp {} -construct có thể trì hoãn các cuộc gọi toString () đắt tiền, tránh hoàn toàn chúng nếu câu lệnh log không được bật.

Sau đó bạn có thể chọn động cơ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.