En mi marco de Selenium, estoy implementando la biblioteca Log4J para imprimir el registro de ejecución de la prueba, pero el archivo application.log no imprime ningún registro. ¿Podría alguien ayudarme a ver por qué o qué estoy haciendo mal?

Estoy haciendo lo siguiente:

1) Agregué la dependencia 1.2.17 log4J a mi archivo pom.xml 2) Agregué el archivo log4j.properties a "C: \ XXX \ IdeaProjects \ XXX \ AG_CEP_Regression_Testing \ src \ main \ resources \ log4j.properties

Cuando ejecuto la secuencia de comandos, genera un archivo de registro pero no imprime los datos de registro, sino que veo lo siguiente que se ha impreso

2019-10-10 11:07:38,039 DEBUG [main] cache:45 - Couldn't find template in cache for "Extent.ftl"("en_GB", UTF-8, parsed); will try to load it.
2019-10-10 11:07:38,042 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent_en_GB.ftl"): Not found
2019-10-10 11:07:38,043 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent_en.ftl"): Not found
2019-10-10 11:07:38,044 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent.ftl"): Found
2019-10-10 11:07:38,045 DEBUG [main] cache:45 - Loading template for "Extent.ftl"("en_GB", UTF-8, parsed) from "jar:file:/C:/XXX/.m2/repository/com/relevantcodes/extentreports/2.41.2/extentreports-2.41.2.jar!/com/relevantcodes/extentreports/view/Extent.ftl"
2019-10-10 11:07:38,314 DEBUG [main] cache:45 - Couldn't find template in cache for "Extent.ftl"("en_GB", UTF-8, parsed); will try to load it.
2019-10-10 11:07:38,315 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent_en_GB.ftl"): Not found
2019-10-10 11:07:38,315 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent_en.ftl"): Not found
2019-10-10 11:07:38,315 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent.ftl"): Found
2019-10-10 11:07:38,316 DEBUG [main] cache:45 - Loading template for "Extent.ftl"("en_GB", UTF-8, parsed) from "jar:file:/C:/XXX/.m2/repository/com/relevantcodes/extentreports/2.41.2/extentreports-2.41.2.jar!/com/relevantcodes/extentreports/view/Extent.ftl"

Aquí están los contenidos de mi archivo log4J.properties:

log4j.rootCategory=debug, console, file
#log4j.logger.freemarker.cache = DEBUG, file, stdout
# Appender which writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{MM-dd-yyyy HH:mm:ss} %F %-5p [%t] %c{2} %L - %m%n

# Appender which writes to a file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=application.log

# Defining maximum size of a log file
log4j.appender.file.MaxFileSize=10mb 
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout  
log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %5p [%t] %c{1}:%L - %m%n
log4j.appender.file.Append=true

Este es el último trabajo que necesito incorporar a mi marco, por lo que cualquier ayuda sería muy apreciada.

0
Nikunj Patel 10 oct. 2019 a las 13:21

1 respuesta

La mejor respuesta

He probado su configuración y aquí está mi consejo (ya que logré que funcione de mi lado):

  1. Arregle su archivo de propiedades ya que aquí log4j.rootCategory=debug, console, file se refiere al appender console pero aquí log4j.appender.stdout=org.apache.log4j.ConsoleAppender define el appender stdout. Para que la línea se vea como log4j.rootCategory=debug, stdout, file
  2. Asegúrate de importar la clase porper Logger donde registras tus mensajes. Compruebe que está usando import org.apache.log4j.Logger; pero no import java.util.logging.Logger; o cualquier otra cosa.
  3. Asegúrese de que no haya otros archivos de configuración de log4j en la ruta de clases

Este es mi código de prueba (asumiendo que el archivo de propiedades se ha corregido):

import java.util.logging.Logger;

public class TestLogging {

    static final Logger log = Logger.getLogger(TestLogging.class.getName());

    public static void main(String[] args) {
        log.info("Test");
    }

}

Aquí está la salida de la consola:

10-10-2019 14:22:29 TestLogging.java INFO  [main] TestLogging 8 - Test

Y aquí está la salida del archivo:

2019-10-10 14:22:29,447  INFO [main] TestLogging:8 - Test
0
Alexey R. 10 oct. 2019 a las 11:25