Có còn đáng để thêm thư viện log4j vào dự án Java 5 chỉ để đăng nhập, hãy nói một số ngoại lệ đối với một tệp có một số cài đặt cuộn qua đẹp. Hoặc các cơ sở tiêu chuẩn ing.logging sẽ làm công việc là tốt?
Bạn nghĩ sao?
Có còn đáng để thêm thư viện log4j vào dự án Java 5 chỉ để đăng nhập, hãy nói một số ngoại lệ đối với một tệp có một số cài đặt cuộn qua đẹp. Hoặc các cơ sở tiêu chuẩn ing.logging sẽ làm công việc là tốt?
Bạn nghĩ sao?
Câu trả lời:
Tôi muốn nói rằng bạn có thể ổn với ing.logging cho các nhu cầu bạn mô tả.
Để có một cây quyết định tốt, hãy xem Log4j vs java.util.logging
Câu hỏi thứ nhất: Bạn có dự đoán được nhu cầu đối với bất kỳ trình xử lý thông minh nào mà Log4j có mà JUL không có, chẳng hạn như SMTPHandler, NTEventLogHandler hoặc bất kỳ Trình xử lý tệp nào rất thuận tiện không?
Câu hỏi thứ hai: Bạn có thấy bản thân muốn thường xuyên chuyển đổi định dạng của đầu ra đăng nhập không? Bạn sẽ cần một cách dễ dàng, linh hoạt để làm như vậy? Nói cách khác, bạn có cần PatternLayout của Log4j không?
Câu hỏi thứ ba: Bạn có dự đoán được nhu cầu nhất định về khả năng thay đổi cấu hình ghi nhật ký phức tạp trong các ứng dụng của mình không, sau khi chúng được biên dịch và triển khai trong môi trường sản xuất? Cấu hình của bạn có nghe giống như không, "Tin nhắn nghiêm trọng từ lớp này được gửi qua e-mail đến người hỗ trợ, tin nhắn nghiêm trọng từ một tập hợp con của lớp được đăng nhập vào syslog deamon trên máy chủ của chúng tôi; tin nhắn cảnh báo từ một tập hợp con khác của lớp được ghi lại vào một tệp trên ổ đĩa mạng A, và sau đó tất cả các tin nhắn từ mọi nơi được đăng nhập vào một tệp trên ổ đĩa mạng B "? Và bạn có thấy mình điều chỉnh nó cứ sau vài ngày không?
Nếu bạn có thể trả lời có cho bất kỳ câu hỏi nào ở trên, hãy đi với Log4j. Nếu bạn trả lời không nhất định cho tất cả trong số họ, JUL sẽ đầy đủ hơn và nó đã được đưa vào SDK một cách thuận tiện.
Điều đó nói rằng, gần như mọi dự án ngày nay dường như kết thúc bao gồm log4j, nếu chỉ vì một số thư viện khác sử dụng nó.
Tôi khuyên bạn nên sử dụng Mặt tiền ghi nhật ký đơn giản cho Java (SLF4J). Nó hỗ trợ các nhà cung cấp khác nhau bao gồm Log4J và có thể được sử dụng thay thế cho Ghi nhật ký Commons của Apache.
Log4j đã có từ lâu, và nó hoạt động rất tốt. Tôi không có nghiên cứu khoa học để hỗ trợ nó, nhưng dựa trên những gì tôi đã thấy ở một số lượng lớn khách hàng, nó dễ dàng là khung đăng nhập mà tôi thấy được sử dụng nhiều hơn bất kỳ khách hàng nào khác. Nó đã tồn tại trong một thời gian dài và không được thay thế bởi Khung đăng nhập lớn tiếp theo, có nội dung gì đó.
Thật đơn giản để thiết lập và dễ dàng tìm hiểu các phần bổ sung cơ bản (đầu ra). Có rất nhiều máy chủ lưu trữ có sẵn, bao gồm:
Cộng với những người khác. Không khó để viết appender của riêng bạn. Ngoài ra, có rất nhiều tính linh hoạt trong mỗi ứng dụng cho phép bạn kiểm soát cụ thể đầu ra trong nhật ký của bạn là gì.
Một lưu ý, tôi đã có một loạt các vấn đề về trình nạp lớp khi tôi sử dụng đăng nhập apache commons ngoài log4j. Nó chỉ dành cho một ứng dụng cụ thể, nhưng tôi thấy việc sử dụng log4j đơn giản hơn là sử dụng tính linh hoạt khi sử dụng lớp trừu tượng như ghi nhật ký chung.
Xem bài viết này để biết thêm chi tiết :
Chúc may mắn!
java.util.logging cung cấp gói ghi nhật ký toàn diện mà không có hành lý quá mức mà một số người khác cung cấp ..
log4j là một gói đẹp hơn về tổng thể và không có một số trục trặc mà java.util.logging chứa. Tôi muốn thứ hai rằng sử dụng log4j trực tiếp dễ dàng hơn sử dụng ghi nhật ký chung.
Tôi khuyên bạn nên sử dụng Apache Commmons Logging làm giao diện ghi nhật ký của bạn. Bằng cách đó, bạn có thể linh hoạt chuyển đổi việc triển khai ghi nhật ký bất cứ lúc nào bạn muốn mà không yêu cầu bất kỳ thay đổi mã nào về phía bạn.