Disable console logging in Spring Boot

Disable console logging in Spring Boot

Spring Boot is renowned for its robust and flexible logging options. While offering a convenient console output by default, it can sometimes become overwhelming for operations engineers. This post delves into a handy trick to redirect Spring Boot logs to a designated file, offering greater control and clarity.

When running a Spring Boot application, logs are displayed on the console by default. While this can be helpful for initial testing and debugging, it can quickly become excessive in production environments. Every log message, including informational or even harmless warnings, can trigger unnecessary concern for ops personnel accustomed to associating console output with potential issues (unless explicitly indicating success, completion, etc.).

Furthermore, redirecting console output to files for centralized logging can capture extraneous logs, making it difficult to identify critical messages.

Fortunately, Spring Boot allows you to effortlessly redirect logs to a file, offering a cleaner and more manageable approach. Here’s how:

  1. application.properties: Locate your application’s application.properties file. This file acts as a central configuration hub for various Spring Boot settings.
  2. Configuration Parameters: Add the following lines to your application.properties file:
# Empty value disables console logging
logging.pattern.console=  
# Path to your desired log file
logging.file.name=C:/temp/application.log  
  • logging.pattern.console=: Setting this property to an empty string effectively disables console logging.
  • logging.file.name=: This property specifies the location of your desired log file. In this example, logs will be written to C:/temp/application.log.

This post is written as part of #WriteAPageADay campaign of BlogChatter