java - 使用Spring Boot 1.3.5(gradle)的Log4j 2.6(属性文件)不起作用

标签 java gradle spring-boot log4j2

我一直在尝试将Log4j 2.6(属性文件)与Spring Boot 1.3.5版本一起使用,并且Spring的默认日志记录开始了。我一直无法找出确切的问题。

这是我的 build.gradle 文件:

buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1"
        classpath 'org.ajoberstar:gradle-git:1.3.0-milestone.1'
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE") 
    }
}

...

dependencies {
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.3.5.RELEASE'
    providedRuntime group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: '1.3.5.RELEASE'

    compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: '1.3.5.RELEASE'
    compile group: 'org.apache.kafka', name: 'kafka-clients', version: '0.10.1.0'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version: '1.3.5.RELEASE'

    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.6'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.6'

    testCompile group: 'org.testng', name: 'testng', version: '6.8.8'
    testCompile group: 'org.json', name: 'json', version: '20160212'
    testCompile 'org.glassfish.jersey.core:jersey-client:2.22.2'
    testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '1.3.5.RELEASE'
    testCompile group: 'org.apache.kafka', name: 'kafka_2.11', version: '0.10.1.0'
}

configurations {
    all*.exclude module: 'spring-boot-starter-logging'
    providedRuntime
}

这是我的 log4j2.properties 文件:
name = PropertiesConfig

property.logDir = logs
property.filename = ingestion
property.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

appenders = console, rolling

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = ${pattern}

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${logDir}/${filename}.log
appender.rolling.filePattern = ${logDir}/${filename}.%d{yyyy-MM-dd}.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = ${pattern}
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 2
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=100MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 5

loggers = rolling

logger.rolling.name = com.dir.mysubdir
logger.rolling.level = WARN
#logger.rolling.additivity = false
logger.rolling.appenderRefs = rolling
logger.rolling.appenderRef.rolling.ref = RollingFile

# Root logger option
rootLogger.level = WARN
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

我已经研究了多个SO主题,并且似乎正确设置了所有属性。但是有些我无法找出为什么它没有按照我的配置记录到文件和控制台。

引导运行应用程序时,将创建在log4j2.properties文件中配置的空日志文件 logs / ingestion.log

最佳答案

如果您使用的是Spring Boot,则可以在application.propertiesapplication.yml中配置日志记录。

yml配置

logging:
    file: server.log
    level:
         'com.myapp': INFO

属性配置
logging.file=server.log
logging.level.com.myapp=INFO

有关更多详细信息,请引用http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html

关于java - 使用Spring Boot 1.3.5(gradle)的Log4j 2.6(属性文件)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41240762/

相关文章:

java - java接口(interface)中的final静态变量

java - 如何在 IntelliJ IDEA 中运行 GWT 应用程序的多个实例

java - 将 Object 类型转换为 JButton 类型?

android - Gradle无法从Android Studio中的jcenter()解析依赖项类路径

java - React Native Expo eas build -p android java JDK 版本错误

java - 无法在 OSX 优胜美地上构建 Java 项目

java - 在 Spring AWS Cloud Framework 中设置 SNS WaitTime

java - Spring 启动时配置文件 : javax. sql.DataSource' 无法找到

java - 如何使用 dao、hibernate 检查同名项目是否存在

spring-boot - Wildfly 中部署的 Spring Boot 应用程序 "Failed to instantiate WebApplicationInitializer class"