Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 使用slf4j和log4j2进行梯度测井_Gradle_Logging_Jenkins Pipeline - Fatal编程技术网

Gradle 使用slf4j和log4j2进行梯度测井

Gradle 使用slf4j和log4j2进行梯度测井,gradle,logging,jenkins-pipeline,Gradle,Logging,Jenkins Pipeline,我面临的问题是,在Jenkins管道作业的控制台输出中,由log4j2语句支持的slf4j不可见。管道代码在Groovy中。详情见附件 我快速浏览了以下内容: 您还可以从其他服务器连接到Gradle的日志系统 构建中使用的类(来自buildSrc目录的类 示例)。只需使用SLF4J记录器即可。您也可以使用此记录器 在构建脚本中使用提供的记录器的方式 例4。使用SLF4J写入日志消息 import org.slf4j.LoggerFactory def slf4jLogger = LoggerF

我面临的问题是,在Jenkins管道作业的控制台输出中,由log4j2语句支持的slf4j不可见。管道代码在Groovy中。详情见附件

我快速浏览了以下内容:

您还可以从其他服务器连接到Gradle的日志系统 构建中使用的类(来自buildSrc目录的类 示例)。只需使用SLF4J记录器即可。您也可以使用此记录器 在构建脚本中使用提供的记录器的方式

例4。使用SLF4J写入日志消息

import org.slf4j.LoggerFactory

def slf4jLogger = LoggerFactory.getLogger('some-logger')
slf4jLogger.info('An info log message logged using SLF4j')
Gradle还提供了与Jakarta的javautil日志的集成 Commons日志记录和Log4j日志记录工具包。任何日志消息 使用这些日志记录工具包编写的构建类将 已重定向到Gradle的日志系统

我不确定我是否理解上述引文。我的问题是:

1.简单地说,这是否意味着您不能绕过Gradle日志记录? 2.下面的代码是否仍将调用日志级别不同于slf4j/log4j2的Gradle日志系统?在这里,我尝试使用由log4j2支持的slf4j,甚至不知道Gradle日志(类似于Gradle日志中的示例4)

部分构建.gradle

.
.
.
dependencies {
    compile gradleApi()
    compile localGroovy()
    compile "org.apache.commons:commons-collections4:4.0"
    compile "org.ajoberstar:grgit:1.9.3"
    compile "org.ajoberstar:gradle-git:1.7.2"
    compile "com.github.zafarkhaja:java-semver:0.9.0"
    compile "de.gliderpilot.gradle.semantic-release:gradle-semantic-release-plugin:1.4.0"
    compile "com.netflix.nebula:nebula-dependency-recommender:5.2.0"
    compile "org.jfrog.buildinfo:build-info-extractor-gradle:4.4.12"
    compile "tools.swedbank.gradle.plugin:qualityreport:v1.12.9"
    compile "tools.swedbank.gradle.plugin:gradle-tde:v1.24.2"

    //slf4j
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.9'

    //log4j2
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.1'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.1'

    //Start: Binding slf4j to an implementation, exactly one should be uncommented at a time
    //Use log4j2
    compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.11.1'

    //Use logback
    //compile group: 'ch.qos.logback', name:'logback-classic', version: '1.2.3'
    //compile group: 'ch.qos.logback', name:'logback-core', version: '1.2.3'

    testCompile('org.spockframework:spock-core:1.1-groovy-2.4') {
        exclude group: 'org.codehaus.groovy'
    }
    testCompile gradleTestKit()
}
configurations.all
{
    resolutionStrategy
    {
        force 'org.codehaus.groovy:groovy-all:2.4.12'
    }
}
3.即使我只希望使用slf4j+log4j2组合,我是否需要在gradle.properties中配置某些内容

status = error
name = PropertiesConfig

filters = threshold

filter.threshold.type = ThresholdFilter
filter.threshold.level = debug

appenders = console

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c:- %m%n

loggers = console

logger.console.name = ConsoleLog
logger.console.level = debug
logger.console.additivity = false
logger.console.appenderRef.console.ref = STDOUT

rootLogger.level = info
rootLogger.appenderRef.stdout.ref = STDOUT
.
.
.
dependencies {
    compile gradleApi()
    compile localGroovy()
    compile "org.apache.commons:commons-collections4:4.0"
    compile "org.ajoberstar:grgit:1.9.3"
    compile "org.ajoberstar:gradle-git:1.7.2"
    compile "com.github.zafarkhaja:java-semver:0.9.0"
    compile "de.gliderpilot.gradle.semantic-release:gradle-semantic-release-plugin:1.4.0"
    compile "com.netflix.nebula:nebula-dependency-recommender:5.2.0"
    compile "org.jfrog.buildinfo:build-info-extractor-gradle:4.4.12"
    compile "tools.swedbank.gradle.plugin:qualityreport:v1.12.9"
    compile "tools.swedbank.gradle.plugin:gradle-tde:v1.24.2"

    //slf4j
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.9'

    //log4j2
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.1'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.1'

    //Start: Binding slf4j to an implementation, exactly one should be uncommented at a time
    //Use log4j2
    compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.11.1'

    //Use logback
    //compile group: 'ch.qos.logback', name:'logback-classic', version: '1.2.3'
    //compile group: 'ch.qos.logback', name:'logback-core', version: '1.2.3'

    testCompile('org.spockframework:spock-core:1.1-groovy-2.4') {
        exclude group: 'org.codehaus.groovy'
    }
    testCompile gradleTestKit()
}
configurations.all
{
    resolutionStrategy
    {
        force 'org.codehaus.groovy:groovy-all:2.4.12'
    }
}