-
-
Notifications
You must be signed in to change notification settings - Fork 10.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spring(SpringMVC)项目能否支持日志配置 #2482
Comments
spring boot下logback-spring.xml通过stringProperty是可以解决的,spring环境下由于logback没有和spring集成,所以可能需要自己开发一下集成的代码 |
在logback.xml 配置这个listener public class LoggerStartupListener extends ContextAwareBase implements LoggerContextListener, LifeCycle {
|
1 similar comment
在logback.xml 配置这个listener public class LoggerStartupListener extends ContextAwareBase implements LoggerContextListener, LifeCycle {
|
这样就可以在启动时获取apollo配置进行初始化 但是 不确定 项目运行时apollo配置改变是否会随之改变,感觉不会..... |
这样子不具有灵活性,类似LOG_PATH = "logback.loghome"的属性需要提前定义, 所以我只好侵入了logback的代码,
这个的优势是可以不用提前定义logback.xml里的变量,任何变量都可以从配置中心拿, 但是需要侵入logback源代码. |
非常感谢 |
Spring/SpringMVC项目apollo支持日志配置Spring/SpringMVC项目apollo支持日志配置 完整实现:
logback.xml配置
1.启动顺序的问题:
####2.项目运行中动态加载或者重新加载logback的问题 1.如何在logback启动的时候加载apollo的配置
在logback.xml中添加
在logback.xml中使用
启动项目可以在日志中看到app_name的属性值就是apollo中配置的值 ####2:如何解决动态加载或者重新加载logback
loggerContext.reset()之后就可以重新给logback中的属性赋值了,LoggerContext与Context的关系,Context是LoggerContext的父类。 还有一种方式:在logback中使用scanPeriod标签 (未测试) 3.如何检测apollo是不是有更新
在检测到apollo有更新值取重新加载logback,并且重新给logback中相关的属性赋于apollo中的新值
启动项目测试,spring项目启动后去apollo修改个值测试下,发现log已更新 |
@bugcodes this looks great, would you please submit the demo to apollo-use-cases? |
@nobodyiam 已提交pull requests |
老的SpringMVC项目 想搞到apollo 配置中心,其他的配置都能弄上去 但是 如何让logback.xml文件获取到apollo配置中心的配置,
现在加载顺序优先级是logback.xml>application.properties>logback-spring.xml 但是logback-spring.xml只支持SpringBoot
The text was updated successfully, but these errors were encountered: