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.