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 you can 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 of 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 uses Apache Tomcat (http://tomcat.apache.org/) as an application server by default. As a default, Tomcat is running on port 8080. You can change the port in the application.properties file. The following setting will start Tomcat on 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:
If this happens, you will have to stop the process that is listening on port 8080 or use another port in your Spring Boot application.