Hands-On Full Stack Development with Spring Boot 2.0  and React
上QQ阅读APP看书,第一时间看更新

Logs and problem solving

Spring Boot starter packages provide a logback, that we can use for logging without any configuration. The following sample code shows how to use logging:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class CardatabaseApplication {
private static final Logger logger = LoggerFactory.getLogger(CardatabaseApplication.class);
public static void main(String[] args) {
SpringApplication.run(CardatabaseApplication.class, args);
logger.info("Hello Spring Boot");
}
}

Logging messages can be seen in the console after you run the project:

There are seven different levels for logging—TRACE, DEBUG, INFO, WARN, ERROR, FATAL, and OFF. You can configure the level of logging in your Spring Boot application.properties file. The file can be found in the resources folder inside your project:

If we set the logging level to INFO, we can see log messages from levels that are under INFO (INFO, WARN, ERROR, and FATAL). In the following example, we set the log level for the root, but you can also set it at the package level:

logging.level.root=INFO

Now, when you run the project, you can't see the TRACE and DEBUG messages anymore. That might be a good setting for a production version of your application:

Spring Boot is using Apache Tomcat (http://tomcat.apache.org/) as an application server, by default. As a default, Tomcat is running in port 8080. You can change the port in the application.properties file. The following setting will start Tomcat in port 8081:

server.port=8081

If the port is occupied, the application won't start and you will see the following message in the console:

You have to stop the process that is listening on port 8080 or use another port in your Spring Boot application.