You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Java

  • Logging framework: SLF4J (Simple Logging Facade for Java)
  • Maven dependency: (version managed by our maven parent project pom.xml)

    <dependency>
    	<groupId>org.slf4j</groupId>
    	<artifactId>slf4j-api</artifactId>
    </dependency>	
  • How to use: 

    // 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)

    // 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)

      maven dependency
       <dependency>
      	<groupId>ch.qos.logback</groupId>
      	<artifactId>logback-classic</artifactId>
      </dependency>
    • apache log4j: (version managed by our maven parent project pom.xml)

      maven dependency
      <dependency>
      	<groupId>org.slf4j</groupId>
      	<artifactId>slf4j-log4j12</artifactId>
      </dependency>
    • apache commons-logging: (version managed by our maven parent project pom.xml

      maven dependency
      <dependency>
      	<groupId>org.slf4j</groupId>
      	<artifactId>slf4j-jcl</artifactId>
      </dependency>
    • java logging (version managed by our maven parent project pom.xml

      maven dependency
      <dependency>
      	<groupId>org.slf4j</groupId>
      	<artifactId>slf4j-jdk14</artifactId>
      </dependency>
  • How to use for JUnit's without real dependency to logger implementation
    • Add maven dependency only for testing scope (version managed by our maven parent project pom.xml

      logback implementation example
      <dependency>
      	<groupId>ch.qos.logback</groupId>
      	<artifactId>logback-classic</artifactId>
      	<scope>test</scope>
      </dependency>
    • Configure logger (logback example configuration)

 

 

 

 

 

 

 

 

  • No labels