当前位置: 首页 > 知识库问答 >
问题:

log4j2不工作的Slf4jSpring引导1.4.3.释放

鲁烨熠
2023-03-14

我使用的是Spring boot 1.3.6.Release和log4j2.yml,如下所示:

Configuration:
  status: info

  Properties:
    Property:
      name: log-path
      value: "/dvl-log/pol/apps/logs/api"

  Appenders:
    Console:
      - name: Console
        target: SYSTEM_OUT
        PatternLayout:
          Pattern: "%d{HH:mm:ss.SSS} %-5level %logger{1} - %msg%n"

  Loggers:
    Root:
      level: info
      AppenderRef:
        - ref: Console
    Logger:
    - name: com.company.api
      level: trace
      additivity: false
      AppenderRef:
        - ref: Console
          level: trace

以下代码的日志记录工作正常。

@Slf4j
public class LogExample{
      public void logMethods(String className,String methodName){

        log.trace("{} >> {}", className, methodName);
      }
}

但是当我升级到Spring Boot1.4.3.发布时,记录器不工作了。

升级到1.4.3后我的新build.gradle是(只是一个版本更改)

version '1.0'
// dependencies for command line
buildscript {
    ext {
        springBootVersion = '1.4.3.RELEASE'
        dependencyManagementVersion = '0.5.2.RELEASE'
    }
    repositories {
        jcenter()
    }
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
        classpath "io.spring.gradle:dependency-management-plugin:${dependencyManagementVersion}"
    }
}

apply plugin: "io.spring.dependency-management"
apply plugin: 'java'
apply plugin: 'spring-boot'
apply plugin: 'war'
apply plugin: 'eclipse'
apply plugin: 'idea'

// JDK 8
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

repositories {
    jcenter()
}

ext {
    springCloudVersion = 'Brixton.SR4'
    springBootVersion = '1.4.3.RELEASE'
    swaggerVersion = '2.4.0'
    jodaTimeVersion = '2.9.4'
    jacksonJodaVersion = '2.5.1'
    junitVersion = '4.12'
    springWsTestVersion = '2.2.3.RELEASE'
    lombokVersion = '1.16.10'
    jsonPathVersion = '2.2.0'
    ehcacheVersion = '3.2.0'
    javaxCacheVersion = '1.0.0'
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
        mavenBom "org.springframework.boot:spring-boot-starter-parent:${springBootVersion}"
    }
}

sourceSets {
    test {
        java {
            srcDir 'src/test/unit/java'
        }
        resources {
            srcDir 'src/test/unit/resources'
        }
    }
}

dependencies {

    /* core libraries */
    compile('org.springframework.cloud:spring-cloud-starter-config') {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
    }
    compile('org.springframework.boot:spring-boot-starter-web') {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
    }
    compile("org.springframework.boot:spring-boot-starter-hateoas"){
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
    }
    compile 'org.springframework.ws:spring-ws-core'

    // logging
    compile('org.springframework.boot:spring-boot-starter-log4j2')
    compile('com.fasterxml.jackson.dataformat:jackson-dataformat-yaml')
    compile('com.fasterxml.jackson.core:jackson-databind')

    // embedded server
    providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')


    // https://mvnrepository.com/artifact/org.projectlombok/lombok-maven
    compile "org.projectlombok:lombok:${lombokVersion}"

    // https://mvnrepository.com/artifact/com.jayway.jsonpath/json-path
    // A Java DSL for reading JSON documents
    compile "com.jayway.jsonpath:json-path:${jsonPathVersion}"


    /* plugins */

    /* test libraries */
    // unit
    testCompile "junit:junit:${junitVersion}"
    testCompile "org.springframework.boot:spring-boot-starter-test"
    testCompile "org.springframework.ws:spring-ws-test:${springWsTestVersion}"
}

war {
    archiveName = "${project.name}.war"
}

共有1个答案

井镜
2023-03-14

我通过将log4j2.yml直接移动到resource目录来解决这个问题。

早些时候,在Spring Boot 1.3.6中,我将log4j2.yml放在resources/logging目录下,configuration.yml作为

logging:
  config: classpath:logging/log4j2.yml

我不知道为什么它在1.4.3.版本中不起作用。

 类似资料:
  • 大家好,我已经为我的应用程序安装了引导程序,它并不工作。这是我的application.scss档案 这是我的申请表。rb文件: application.js文件: 最后是我的Gem文件: 以下是我在尝试向网页添加导航栏时得到的信息:

  • 我尝试配置log4j2以在gradle项目中使用MongoDB,当我在Eclipse和测试中运行时,它工作得很好,但是当我生成一个jar并启动它时,我得到一个错误: 2018-08-13 09:30:11,534主要错误找不到MongoDb的插件类型2018-08-13 09:30:11,548主要错误找不到MongoDb的插件2018-08-13 09:30:11,597主要错误无法为元素NoS

  • 我遵循这里描述的方法:https://github.com/jeroenbellen/blog-manage-and-reload-spring-properties,唯一的区别是,在我的例子中,属性在多个类中使用,所以我将它们放在一个实用工具类中,并使用getter引用它的变量。这就是类的样子: 我在其他类中使用变量,比如。我能够加载的属性启动只是很好,但我不能动态更新他们在飞行。有人能说出我做

  • 我已经调试了一整天,几乎尝试了互联网上所说的所有方法,但我仍然没有正确理解。 我使用Spring Boot和log4j2进行日志记录,因为我希望将日志写入文件而不是控制台。当我启动Spring Boot时,日志文件被成功创建,但我看不到文件上写着“Hello Philippine”。我希望你们能帮我。 这是我的Spring Boot应用程序: 我的log4j2。xml 我的POM: 我的申请表上没

  • 我试图在spring boot应用程序中添加log4j2框架,并使用spring AOP将日志记录问题与逻辑业务分离开来。不幸的是,当我尝试记录消息时,log4j2不起作用,它使用spring默认的日志记录。 这是我的LoggingAspect类,我尝试在其中记录消息:LoggingAspect。JAVA 这是我的pom。xml文件: 最后这是我的log4j2。xml文件: 当我尝试使用logge

  • 我深陷于这个谜团中:我使用的是bootstrap 3.2,而我的弹出窗口不会显示click事件。 经过大量的测试,我没有找到问题的来源。 下面是代码:http://jsfidle.net/drgsa8hr/3/ 如果我读得很好:Popover扩展工具提示:https://github.com/twbs/bootstrap/blob/master/js/Popover.js#l32 测试1:工具提示