spring - 通过示例进行Spring Boot和Logback

标签 spring gradle spring-boot logback spring-boot-actuator

我有一个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/

相关文章:

java - Spring JDBC中的多个一对多关系

intellij-idea - gradle & Idea 自动导入 : Project resolve error

java - 为什么我的 Spring @Async bean 方法没有异步执行?

gradle - Vagrant 和 gradle 持续构建

java - Spring Boot 缓存 SpEL (#result) 返回 Null

spring-mvc - Spring Thymeleaf View 的正确位置

java - 带有自定义 AngularJS 登录页面的 Spring Boot 和安全性

java - 仅当 bean 作为方法参数存在时,Spring 才会 Autowiring

java - 资源包在 Spring 4.1 中不起作用

java - 在 Gradle 构建 JAR 中多次包含具有不同名称的文件