我正在通过spring-cloud brixton.m2使用Spring Boot 1.3.0.rc1,并且无法将Spring Boot属性拉到logback.xml中,正如这个特性所暗示的,在日志配置中签入支持springProperty
我正在使用.yml文件,希望从bootstrap.yml或application.yml中提取应用程序名称。
logback-spring.xml:
<configuration>
<springProperty scope="context" name="myappName" source="spring.application.name"/>
<contextName>${myappName}</contextName>
<appender name="logFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/${myappName}.log</file>
...
</appender>
...
</configuration>
这里的Spring Boot Logback extensions文档帮助不大。
另一个stackoverflow问题不能在logback.xml中使用Spring属性占位符,这个问题比较老,对我也不适用。任何洞察力都会有帮助。
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.3.0.RC1:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.3.0.RC1:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:1.3.0.RC1:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.3.0.RC1:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:1.3.0.RC1:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.1.3:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.1.3:compile
[INFO] | | | +- org.slf4j:jcl-over-slf4j:jar:1.7.12:compile
[INFO] | | | +- org.slf4j:jul-to-slf4j:jar:1.7.12:compile
[INFO] | | | \- org.slf4j:log4j-over-slf4j:jar:1.7.12:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.16:runtime
为未来的读者提供我的分析和解决方案...我尝试在bootstrap.yml
中使用spring.application.name
值,然后在application.yml
中使用application.properties
中使用spring.application.name
值,但均无效。我以为是因为我使用了logback.xml
,但是转换为logback-spring.xml
没有任何改变。查看这里提交的代码,通过this.environment.getProperty(source)
提取值取决于加载属性源的时间和解释logback-spring.xml
文件的时间。不知道为什么Dave Syer能够让它工作,但我的.xml变量在将本地属性源添加到环境之前被填充了。
如果通过SpringApplication.SetDefaultProperties()设置该值,则该值将填充在.xml文件中。所以这就是我走的路。
SpringApplicationRunListener.Started()
中,我通过new ClassPathResource(“/bootstrap.yml”)
service.log.name
SpringApplication.SetDefaultProperties()
logback-spring.xml
文件${myappName}
我承认这不是一个完美的解决方案,但一个目前有效的,并可能继续在未来的Springboot发行版。我对进一步的想法持开放态度,但我想提供一个解决方案,为其他有相同经验的人工作。
我有Spring Boot应用程序,并在应用程序中设置。下一个变量的属性: 应用程序启动后正确创建日志文件。但是当我更改日志级别时,logback会创建名为“appName _ IS _ UNDEFINED-appVersion _ IS _ UNDEFINED”的新日志文件。我使用下一个回退配置: 无法理解如何解决它。
我在我的模型中使用LocalDateTime,在包括LocalDateTimeDeserializer之后,将bean字段转换为 包括 属性在SpringBoot的应用程序中。属性文件,应用程序最终能够反序列化JSON并正确显示如下内容:, 但是,当我进行测试时,它会忽略WRITE_DATES_AS_TIMESTAMPS标志,我猜它会为上面相同的字符串日期生成一个输出, 请注意,在测试资源文件夹中
controller.java UserServiceImpl.java 我得到了这个错误 应用程序启动失败 描述: 我使用的SpringBoot版本:2.1.0.发行版
我的spring应用程序有以下logback.xml配置。我使用的是SizeAndTimeBasedRollingPolicy,并且我假装在一个月(即部分)的基础上对日志进行原始化。 出于调试的目的,目前我正在生成大量日志,但totalSizeCap似乎不起作用。我有一个一月的文件夹,差不多有8GB。 我看到这个日志:SizeAndTimeBasedRollingPolicy not honori
我正在学习Spring Boot来构建应用程序。我试图用不同包中的控制器作为应用程序来构建我的第一个Spring Boot应用程序。Tomcat实例出现,但请求没有到达为URI注册的RestController。 以下是控制器类: 以下是应用程序类: Pom.xml tomcat启动时的日志: 我添加了基本包扫描,甚至尝试了注释,但当我点击URL(http://localhost:8080/abc
我在使用logstash-logback-encoder的Logback时遇到了问题。 我的logback.xml: 我试图在我的项目主页中创建日志/开发: 如果我删除文件“logback.xml”,日志记录就会工作,所以日志记录实际上会发生,但它不存储在文件中。