Java: log4j2: 4 - Implementation

Using Log4j in your Apache Maven build

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 propert: 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 - $$$$$$$$$$$$$$$$$$$$$                 ECOIOT391       $$$$$$$$$$$$$$$$$$$$$$$$$
[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

 

 

 

 


Tags