Log4J
| Prev | Next |
Main steps
- If necessary, review presentation: Log4J
Add dependency on log4j in pom.xml file:
<dependencies>
...
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.23.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.23.1</version>
</dependency>
...
</dependencies>where ... are some other existing settings
Recompile project and regenerate settings for eclipse:
mvn clean compile eclipse:eclipseAdd file logger named file with file appender and layout format into configuration file src/main/resources/log4j2.properties:
appender.file.type = File
appender.file.name = file
appender.file.fileName = logs/test.log
appender.file.layout.type = PatternLayout
appender.file.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{4} %M:%L - %m%nAdd entry for log appender to file:
rootLogger.appenderRef.file.ref = fileAdd log level entries for activity:
logger.jtm.name = jtm.extra05.Log
logger.jtm.level = info
logger.jtm.additivity = false
logger.jtm.appenderRefs = file, stdout
logger.jtm.appenderRef.file.ref = file
logger.jtm.appenderRef.stdout.ref = stdout
logger.jtmExt.name = jtm.extra05.Log.ExtLog
logger.jtmExt.level = trace
logger.jtmExt.additivity = false
logger.jtmExt.appenderRefs = file, stdout
logger.jtmExt.appenderRef.file.ref = file
logger.jtmExt.appenderRef.stdout.ref = stdout- Review package jtm.extra05
Declare and initialize class logger in Log class:
private static final Logger log = LogManager.getLogger(Log.class);- Implement static methods to log trace, debug, info, warn, error, fatal which will write log messages with appropriate level, using the class logger.
- Implement method getLogger() which returns reference to used logger
In nested class ExtLog declare and initialize logger:
static final Logger log = LogManager.getLogger(ExtLog.class);- In internal class ExtLog implement static methods trace, debug, info, warn, error, fatal which will write log messages with appropriate level.
- Check that unit tests are passing
| Prev | Next |


