Tuesday, April 2, 2019

Log4j2 for selenium webdriver

put it in //src/test/resources/log4j2.properties in the Maven project



 name=PropertiesConfig  
 property.filename = logs  
 appenders = console, file  
 appender.console.type = Console  
 appender.console.name = STDOUT  
 appender.console.layout.type = PatternLayout  
 appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n  
 appender.file.type = File  
 appender.file.name = LOGFILE  
 appender.file.fileName=${filename}/Mylogs.log  
 appender.file.layout.type=PatternLayout  
 appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n  
 loggers=file  
 logger.file.name=your package name here  
 logger.file.level = debug  
 logger.file.appenderRefs = file  
 logger.file.appenderRef.file.ref = LOGFILE  
 logger.file.appender  
 rootLogger.level = debug  
 rootLogger.appenderRefs = stdout  
 rootLogger.appenderRef.stdout.ref = STDOUT  

To access in any class

Create variable in the class level :

 private Logger logger = LogManager.getLogger(yourclass.class);  

use it wherever you want like this:

 logger.info("log message");