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
