Table of Contents |
---|
...
Java
- Logging framework: SLF4J (Simple Logging Facade for Java)
Maven dependency: (version managed by our maven parent project pom.xml)
Code Block language java <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency>
How to use:
Code Block language java // import required classes import org.slf4j.Logger; import org.slf4j.LoggerFactory; // define logger private static final Logger LOGGER = LoggerFactory.getLogger(AuthenticationServiceImpl.class); // use in code try { // logic } catch (final StorageException e) { final String message = "(" + accountId + ") fail."; LOGGER.error(message, e); throw new AuthenticationServiceException(message, e); }
FATAL logging level: (marker usage example)
Code Block language java // import utility import net.bolbat.utils.logging.LoggingUtils; // use in code try { // logic } catch (final ManagerException e) { final String message = "Can't initialize persistence service."; LOGGER.error(LoggingUtils.FATAL, message, e); throw new ServiceInstantiationException(message, e); }
- SLF4J API implementations:
- default no-operation (NOP) logger, included in slf4j-api
logback: (version managed by our maven parent project pom.xml)
Code Block language xml <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency>
apache log4j: (version managed by our maven parent project pom.xml)
Code Block language xml <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency>
apache commons-logging: (version managed by our maven parent project pom.xml)
Code Block language xml <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jcl</artifactId> </dependency>
java logging (version managed by our maven parent project pom.xml)
Code Block language xml <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> </dependency>
- How to use for JUnit's without real dependency to logger implementation on logback example
Add maven dependency only for testing scope (version managed by our maven parent project pom.xml)
Code Block language xml <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <scope>test</scope> </dependency>
Configure logger (example configuration)
...