我有一个Spring Boot应用程序(基本上)具有以下项目结构:
myapp/
src/
<All Java source code here>
build.gradle
application.yml
logback.groovy
它的
build.gradle
依赖项是:dependencies {
compile(
'org.springframework.boot:spring-boot-starter-actuator'
,'org.springframework.boot:spring-boot-starter-jetty'
,'org.springframework.boot:spring-boot-starter-security'
,'org.springframework.boot:spring-boot-starter-thymeleaf'
,'org.apache.commons:commons-lang3:3.4'
,'ch.qos.logback:logback-parent:1.1.7'
)
compile('org.springframework.boot:spring-boot-starter-web') {
exclude module: 'spring-boot-starter-tomcat'
}
}
application.yml
:logging:
level:
org.springframework.web: 'DEBUG'
server:
error:
whitelabel:
enabled: false
spring:
datasource:
test-on-borrow: true
validation-query: SELECT 1
messages:
basename: i18n/messages
和
logback.groovy
:statusListener(OnConsoleStatusListener)
appender('CONSOLE', ConsoleAppender) {
encoder(PatternLayoutEncoder) {
pattern = '%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n'
}
}
appender('ROLLING', RollingFileAppender) {
encoder(PatternLayoutEncoder) {
Pattern = '%d %level %thread %mdc %logger - %m%n'
}
rollingPolicy(TimeBasedRollingPolicy) {
FileNamePattern = '/Users/myuser/logs/myapp/myapp-%d{yyyy-MM}.zip'
}
}
当我运行
./gradlew bootRun -Pspring.config=.
(其中spring.config=.
表示myapp/application.yml
配置文件)时,我仅看到控制台输出。什么都不会记录到/Users/myuser/logs/myapp/
。有什么想法吗?更新资料
我创建了一个使用我相同的Logback配置的准系统Spring Boot应用程序:
https://github.com/hotmeatballsoup/spring-boot-logback-example
克隆并运行以下命令来运行它:
./gradlew bootRun -Pspring.config=.
请注意,即使该应用程序启动正常(您将看到许多控制台输出),但实际上它并未按预期创建
/var/log/spring-boot-logback-example/spring-boot-logback-example.log
文件!
最佳答案
添加到以下logback.groovy
root(DEBUG, ["CONSOLE", "ROLLING"])
关于spring - 通过示例进行Spring Boot和Logback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37885817/