Tôi biết có một hoạt động jmx reloadDefaultConfiguration(), nhưng không nhận được một thể hiện của MBean và gọi hoạt động này, có một Logback api để tải lại cấu hình mặc định hay không. đường dẫn tập tin)?Làm thế nào để lập trình Logback để nạp lại cấu hình
14
A
Trả lời
11
Đây là mã nguồn của JMXConfigurator.reloadDefaultConfiguration()
:
public void reloadDefaultConfiguration() throws JoranException {
ContextInitializer ci = new ContextInitializer(loggerContext);
URL url = ci.findURLOfDefaultConfigurationFile(true);
loggerContext.reset();
ci.configureByResource(url);
}
gì về chỉ chạy mã này bất cứ nơi nào bạn cần nó?
Vấn đề duy nhất là biến số loggerContext
. Bạn có thể lấy nó bằng cách sử:
(LoggerContext)LoggerFactory.getILoggerFactory()
Đáng tiếc là nó không giống như có API tốt yếu tố để làm điều này, những gì về nâng cao một issue? Ngoài ra, bạn có biết rằng Logback có tính năng tự động làm mới không?
12
tôi đã sử dụng đoạn mã sau cho mục đích này:
public static void reloadLogger() {
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
ContextInitializer ci = new ContextInitializer(loggerContext);
URL url = ci.findURLOfDefaultConfigurationFile(true);
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
loggerContext.reset();
configurator.doConfigure(url);
} catch (JoranException je) {
// StatusPrinter will handle this
}
StatusPrinter.printInCaseOfErrorsOrWarnings(loggerContext);
}
+0
này không xử lý định cấu hình đăng nhập bằng tệp .groovy ... ném 'org.xml.sax.SAXParseException' – JohnTheBeloved
Các vấn đề liên quan
- 1. Làm thế nào để thay đổi mức logback đăng nhập lập trình trong Java?
- 2. Làm thế nào để cấu hình slf4j + logback trong một dự án Maven đa mô-đun?
- 3. Cấu hình Logback trong Eclipse
- 4. OSGi + Logback + slf4j - Cấu hình chạy Eclipse
- 5. Làm thế nào để thêm maxItemsInObjectGraph lập trình mà không cần sử dụng tệp cấu hình?
- 6. Làm thế nào để cấu hình một lõi và/hoặc cầu JMS lập trình?
- 7. Làm thế nào để chạy các cấu hình khởi chạy Eclipse theo lập trình?
- 8. Làm thế nào để kiểm tra xem iCloud được cấu hình lập trình
- 9. Logback - bộ tên file log lập trình
- 10. Làm thế nào để thiết lập commons-logging để sử dụng logback?
- 11. Mùa xuân: Làm thế nào để tôi nạp ENUM vào cấu hình Spring?
- 12. Làm thế nào để cấu hình gitignore?
- 13. Làm thế nào để cấu hình Fiddler để nghe localhost?
- 14. Android làm thế nào để thiết lập windowanimation lập trình
- 15. Làm cách nào để định cấu hình các loại WCF đã biết theo lập trình?
- 16. Làm thế nào để lưu các thiết lập ứng dụng trong một tập tin cấu hình?
- 17. khởi động lại (hoặc tải lại cấu hình) Eclipse-CS theo lập trình
- 18. Làm thế nào để thiết lập lại AnimationDrawable
- 19. Cấu hình org.apache.log4j.ConsoleAppender với trình nạp lớp tùy chỉnh
- 20. Làm cách nào để tôi có thể lập cấu hình chương trình đa luồng bằng Python?
- 21. làm thế nào để lập trình khởi động lại WAMP hoặc Apache?
- 22. Làm thế nào để cấu hình Application Pool với MSDeploy
- 23. Làm thế nào để cấu hình nhiệm vụ Rake?
- 24. Làm thế nào để cấu hình Django trên OpenShift?
- 25. Làm thế nào để cấu hình JBOSS 5.1.0 GA ClassLoader
- 26. Làm thế nào để sửa đổi cấu hình thiết lập bản sao?
- 27. Làm thế nào để Thiết lập hình nền riêng cho nhóm của UIButtons bởi lập trình
- 28. Làm thế nào để cấu hình mã JRuby?
- 29. Làm thế nào để cấu hình các thủ tục plpgsql
- 30. SIGHUP để tải lại cấu hình
Yea, nghĩ về việc sử dụng tính năng tự động làm mới nhưng vỉa một chút đáng sợ để kích hoạt nó trên bất cứ điều gì khác hơn là môi trường dev của tôi – Yony