Quick Start Guide
Using Log4j in your Apache Maven build
- http://logging.apache.org/
To build with Apache Maven, add the dependencies listed below to your pom.xml file.
pom.xml <dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.11.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.11.0</version> </dependency> </dependencies>
PATH FOR log4j2.xml
- name file 'log4j2.xml'
- place in the TOP "*/src/" folder
- */src/log4j2.xml
- OR
- */src/log4j2.properties
- MIGHT be able to just add it to the classpath for other locations
log4j2.properties
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 = RollingFile appender.file.fileName=${filename}/propertieslogs.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=com.uc.test.selenium.util.TestLog logger.file.level = trace logger.file.appenderRefs = file logger.file.appenderRef.file.ref = RollingFile rootLogger.level = debug rootLogger.appenderRefs = stdout rootLogger.appenderRef.stdout.ref = STDOUT
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Properties> <Property name="log-path">logs</Property> </Properties> <Appenders> <Console name="Console"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> </Console> </Appenders> <Loggers> <Root level="ERROR"> <AppenderRef ref="Console" /> </Root> <logger name="com.uc.java_trials.Log4j2Trial" level="trace"> <appender-ref ref="Console" /> </logger> </Loggers> </Configuration>
Log4j2Trial.java
package com.uc.java_trials; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /* log4j2 can be configured using system property: log4j.configurationFile <-- pathToFile POM file Java CLI: -Dlog4j.configuration="Foo-log4j.xml" or simply place log4j2.xml in the classpath, usually under /src */ public class Log4j2Trial { private static final Logger logCommon = LogManager.getLogger("commons-log"); private static final Logger logAnalytics = LogManager.getLogger("analytics-log"); static final Logger logger = LogManager.getLogger(Log4j2Trial.class.getName()); public static void main(String[] args) { Log4j2Trial.printToLogger(); } public static void printToLogger() { // return Logger //PropertyConfigurator.configure(log4jfile); logger.info("INFOING"); logger.debug("DEBUGGING"); logger.error("ERRORING"); //ONLY one printed to Console in Default Config(no log4j2.xml file used) logCommon.error("ERRORING"); //ONLY one printed to Console in Default Config(no log4j2.xml file used) } }
Logger Console Output
[INFO ] 2018-05-07 01:22:30.327 [main] TestLog - **************************************************************************************** [INFO ] 2018-05-07 01:22:30.330 [main] TestLog - **************************************************************************************** [INFO ] 2018-05-07 01:22:30.330 [main] TestLog - $$$$$$$$$$$$$$$$$$$$$ TEST0001 $$$$$$$$$$$$$$$$$$$$$$$$$ [INFO ] 2018-05-07 01:22:30.330 [main] TestLog - **************************************************************************************** [INFO ] 2018-05-07 01:22:30.330 [main] TestLog - **************************************************************************************** [INFO ] 2018-05-07 01:22:30.330 [main] TestLog - TestCaseRow=4
- Log in to post comments