Mastering Spring Boot 2.0
上QQ阅读APP看书,第一时间看更新

Fine-tuning with logging

Logging is very important in each application to debug and analyze the application's bugs during runtime. If you are working with the old-fashioned Spring Framework, then you have to configure the logging framework explicitly in your application. But Spring Boot provides support for several logging frameworks and also allows you to customize and fine-tune logging in to your Spring application. Spring Boot includes, by default:

  • SLF4J: Logging facade
  • Logback: SLF4J implementation

But as a best practice, stick to default logging in your application and use the SLF4J abstraction in the application code. Spring Boot also supports other logging frameworks such as Java Util Logging, Log4J, and Log4J2. You can use another logging frameworks by just adding a dependency, as follows:

<dependency> 
   <groupId>org.springframework.boot</groupId> 
   <artifactId>spring-boot-starter-websocket</artifactId> 
   <exclusions> 
         <exclusion> 
               <groupId>ch.qos.logback</groupId> 
               <artifactId>logback-classic</artifactId> 
         </exclusion> 
   </exclusions> 
</dependency> 
<dependency> 
   <groupId>org.slf4j</groupId> 
   <artifactId>slf4j-log4j12</artifactId> 
</dependency> 

According to this code, we are using log4j12 instead of the logback logging framework. Let's see how to configure logging output in a Spring application.