Tôi đã sử dụng SLF4j làm khung đăng nhập của mình, được hỗ trợ bởi log4j. Vấn đề của tôi là tôi đang tìm cách thay đổi mức ghi nhật ký cho trình ghi nhật ký của mình khi chạy.Làm thế nào để thay đổi mức slf4j khi chạy?
Tôi hiểu rằng slf4j không cho phép điều này trực tiếp thông qua API của chính nó và do đó, tôi phải truy cập trực tiếp vào nhà cung cấp đăng nhập. Cá nhân, tôi thấy đây là một sự thiếu hụt rất lớn trong slf4j. Vì vậy, bây giờ câu hỏi của tôi là làm thế nào tôi có thể xác định programatically thông qua slf4j mà nhà cung cấp tôi đang sử dụng? Mục đích lớn nhất của việc sử dụng slf4j là bạn trở thành nhà cung cấp bất khả tri - bạn có thể dễ dàng chuyển đổi giữa hệ thống đăng nhập ưa thích của mình mà không cần phải mã hóa lại bất kỳ thứ gì. Nhưng bây giờ, nếu tôi phải thực hiện các cuộc gọi trực tiếp tới log4j, tôi sẽ mất khả năng đó.
Ít nhất, tôi muốn có thể xác định xem tôi có đang sử dụng log4j làm nhà cung cấp không và nếu có, thì cho phép người dùng chuyển đổi cấp nhật ký.
Nếu tôi làm LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME)
, kết quả là một phiên bản org.slf4j.impl.Log4jLoggerAdapter
và thậm chí không org.apache.log4j.Logger
(như tôi đã hy vọng/mong đợi).
Có cách nào để tìm ra điều này không?
Cảm ơn, Eric
Xem: [Cách tìm thư viện nào slf4j đã tự ràng buộc?] (Http://stackoverflow.com/questions/10505418) –
Cảm ơn bạn. Tôi không chắc tại sao tôi lại bỏ lỡ điều đó trong tìm kiếm ban đầu của mình. –