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

Log4j2.6(属性文件)与Spring Boot 1.3.5(gradle)不工作

严知
2023-03-14
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
}
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主题,似乎已经正确设置了所有属性。但是我不能找出为什么它不能按照我的配置记录到文件和控制台。

当我引导应用程序时,将创建一个空日志文件logs/ingestion.log,该文件在log4j2.properties文件中配置。

共有1个答案

盖诚
2023-03-14

如果使用Spring Boot,那么可以在application.propertiesapplication.yml中配置日志记录。

yml配置

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

属性配置

logging.file=server.log
logging.level.com.myapp=INFO
 类似资料:
  • 如何在Gradle中包含属性文件? 例如,在Ant中,我可以执行以下操作:

  • 我已经建立了一个管道,在microsoft azure管道中运行我的测试。在我的本地机器上,这工作正常,文件位于我的计算机上的gradle系统目录中: 这是我的: 据我所知,由jetifier从文件。 输出: 下面是我组装调试和测试单元测试的azure-pipelines.yml的一部分: 我在这篇文章、这篇文章和这篇文章中尝试了解决方案,但没有结果。jar文件大4mb,是代码存储库中唯一的文件,

  • 我正在使用gradle来构建和测试我的应用程序。我使用命令 但是当从eclipse中运行时,测试工作完美,当使用gradle运行时失败。我的测试定义如下,它找不到的属性文件在这两个文件夹中: /home/user/Development/git/myproject/src/main/java/com/mycompany/config/home/user/Development/git/myproj

  • 我试着寻找类似的问题,但没有成功。 谢谢!

  • 问题内容: 在属性方面,我是一个新手,我读到XML是存储这些属性的首选方法。但是我注意到,以 也可以。这意味着更少的打字(也许更容易阅读,也更有效)。那么使用XML文件有什么好处? 问题答案: 在XML中,您可以存储比属性文件中更复杂的数据(例如,层次结构)。因此,这取决于您的用例。如果您只想存储少量直接属性,则更容易处理属性文件(尽管Java属性类也可以读取基于XML的属性)。 无论如何,保持配

  • 通过参考关于在,我想知道当文件不存在时如何忽略。 目前,下面的文件抛出FileNot找到异常,无法继续编译。 我想要的是让开发者编译。属性是否存在。我怎样才能做到这一点?