Java >> Java tutorial >  >> Tag >> Log4j

ude af stand til at skrive logfilerne til logfilen ved hjælp af log4j gennem Gradle

Jeg arbejder på Cucumber TestNg Gradle automatiseringsprojekt. Da jeg er ny til Gradle og ikke er i stand til at finde ud af problemet, selvom jeg har indsat passende log4j-afhængigheder i build.gradle-filen. Kan nogen se på dette problem og give løsningerne eller rådgive mig om, hvad der gik galt på grund af hvilke logfiler, der ikke er skrevet til logfilen kaldet "ApplicationLogs.log"

Nedenfor er min projektstruktur

Herunder er indholdet af min Log4j.properties-fil

Rootloggerindstilling

    log4j.rootLogger=INFO, RFILE,STDOUT
    
    # Console Appender
    log4j.appender.name=STDOUT
    log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
    log4j.appender.STDOUT.Target=System.out
    log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout 
    log4j.appender.STDOUT.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p] [%c{1}] - [%M] %m%n
    
    
    # Rolling File Appender
    log4j.appender.name=RFILE
    log4j.appender.RFILE=org.apache.log4j.RollingFileAppender
    log4j.appender.RFILE.File=./Automation_Report/logs/ApplicationLogs.log
    log4j.appender.RFILE.threshold=INFO
    log4j.appender.RFILE.maxFileSize=25MB
    log4j.appender.RFILE.maxBackupIndex=100
    log4j.appender.RFILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.RFILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p] [%c{1}] - [%M] %m%n

Nedenfor er mit build.gradle-filindhold

plugins {
        id 'java'
        id 'maven-publish'
        id 'java-library'
        id 'java-gradle-plugin'
        id 'application'
    }
            
    apply plugin: 'java'

repositories {
       
        mavenCentral()
            jcenter()
    }
    
    task deleteGraphicsAssets(type: Delete) {
        delete "build"
    }

 version '1.0-SNAPSHOT'
    sourceCompatibility = 1.8

dependencies {
        // This dependency is exported to consumers, that is to say found on their compile classpath.
        api 'org.apache.commons:commons-math3:3.6.1'
    
        // This dependency is used internally, and not exposed to consumers on their own compile classpath.
        implementation 'com.google.guava:guava:28.2-jre'
    
      
        implementation gradleApi()
        
        //Cucumber
        testImplementation  'io.cucumber:cucumber-java:4.8.0'
        
        //compile group: 'io.cucumber', name: 'cucumber-jvm', version: '4.8.0', ext: 'pom'
         testImplementation  'io.cucumber:cucumber-jvm:4.8.0'
        
        compile group: 'io.cucumber', name: 'cucumber-core', version: '4.8.0'
       // testImplementation  'io.cucumber:cucumber-core:4.8.0'
       
       compile group: 'io.cucumber', name: 'cucumber-testng', version: '4.8.0'
       //testImplementation  'io.cucumber:cucumber-testng:4.8.0'
        
       implementation  'io.cucumber:cucumber-picocontainer:4.7.4'
        testImplementation  'io.cucumber:cucumber-gherkin:5.1.0'
       
        
       //TestNg
       // testImplementation 'org.testng:testng:6.14.3'
        testCompile group: 'org.testng', name: 'testng', version: '6.14.3'
        
       //Reports
       testImplementation  'com.aventstack:extentreports:4.1.7'
       testImplementation  'com.aventstack:extentreports-cucumber4-adapter:1.0.12'
       
       //Maven Compiler , Surefire Plugin ,Poi
       testImplementation  'org.apache.maven.plugins:maven-surefire-plugin:2.22.2'
       testImplementation  'org.apache.maven.plugins:maven-compiler-plugin:3.8.1' 
       testImplementation 'org.apache.poi:poi-ooxml:4.1.2'
        
        //Log4j & SLF4J
          compile group: 'log4j', name: 'log4j', version: '1.2.17'
       
        // #Rest Assured Apis
         testImplementation 'io.rest-assured:rest-assured:3.3.0'
         testImplementation 'org.json:json:20180813'
         testImplementation 'com.googlecode.json-simple:json-simple:1.1.1'
         
         
         
         //#Selenium Apis
         compile group: 'org.seleniumhq.selenium', name: 'selenium-server', version: '3.141.59'
         implementation 'com.paulhammant:ngwebdriver:1.1.4'
         
         compile group: 'org.seleniumhq.selenium', name: 'selenium-htmlunit-driver', version: '2.52.0'
         implementation 'org.seleniumhq.selenium:selenium-java:4.0.0-alpha-4'
         
          //testImplementation 'org.hamcrest:hamcrest-all:2.2'
      
        }

test {
        testLogging.showStandardStreams = true
        systemProperties System.getProperties()
    }

configurations {
        cucumberRuntime.extendsFrom testImplementation
    }
    
    
      task cucumber() {
        dependsOn assemble,testClasses
        doLast {
            javaexec {
                main = "io.cucumber.core.cli.Main"
                classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
                
                
                args = ['--plugin', 'pretty', 
                
                        '--plugin', 'json:target/AppleBrands.json', 
                        
                        '--plugin',  'com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:Report',
                        
                     
                          '--glue','com.apple.brands.test.stepdefinition',
                        
                          'src/test/resources','src/main/java',
    
                        '--tags', '@Api'         
                    ]
                      
            }
           
        }
      }
      
     
       
       tasks.test {
        finalizedBy cucumber
    }

Svar

Jeg fandt problemet.

Problemet var, at du ikke brugte LoggerHelper.

Dette er min projektstruktur :

Opdateret LoggerHelper-klasse :

For at teste om LoggerHelper virker eller ej. Jeg tilføjede en testklasse med hovedmetoden:

Konsol :

Den loggenererede fil.


Java tag