Home >Java >javaTutorial >Detailed explanation of how to use log4j to record logs in Spring Boot

Detailed explanation of how to use log4j to record logs in Spring Boot

黄舟
黄舟Original
2017-03-30 17:55:322157browse

This article mainly introduces how to introduce log4j into spring boot, as well as some basic usage. Friends in need can refer to it. Let’s take a look together.

Preface

Spring Boot uses Commons Logging for all internal logs, but the default configuration also provides support for common logs, such as: Java Util Logging, Log4J, Log4J2 and Logback. Each Logger can be configured to use the console or file to output log content. This article mainly introduces how to use log4j to record logs in Spring Boot. If you are interested, come and learn together.

Introducing log4j dependency

When creating the Spring Boot project, we introduced spring-boot-starter, which includes spring-boot-starter-logging, this dependency The content is
Spring Boot's default logging framework Logback, so before introducing log4j, we need to exclude the dependencies of this package and then introduce the dependencies of log4j, as follows:

<dependency> 
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter</artifactId>
 <exclusions>
 <exclusion> 
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-logging</artifactId>
 </exclusion>
 </exclusions>
</dependency>
<dependency> 
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

Configuration log4j.properties

After introducing the log4j dependency, you only need to add the log4j.properties configuration file in the src/main/resources directory to start configuring the application log.

Console output

Through the following configuration, set the output level of the root log to INFO, and the appender outputs stdout to the console

# LOG4J配置
log4j.rootCategory=INFO, stdout
# 控制台输出
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
 log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

Output to file

In the development environment, we just output to the console without any problem, but in the production or test environment, the log content may be persisted to facilitate tracing the cause of the problem.
You can add the following appender content to output to different files on a daily basis. At the same time, you also need to add an appender named file to log4j.rootCategory.
In this way, the root log can be output to logs/all.log in the file.

#
log4j.rootCategory=INFO, stdout, file
# root日志输出
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.file=logs/all.log 
log4j.appender.file.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

Classified output

1. Output can be performed according to different packages. By defining the appender that is output to logs/my.log, and setting the log level
under the com.didispace package to the DEBUG level, the appender is set to the appender named didifile that is output to logs/my.log.

# com.juzi包下的日志配置
log4j.category.com.juzi=DEBUG, didifile
# com.didispace下的日志输出
log4j.appender.didifile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.didifile.file=logs/my.log 
log4j.appender.didifile.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.didifile.layout=org.apache.log4j.PatternLayout 
log4j.appender.didifile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L ---- %m%n

You can classify different levels, such as outputting the ERROR level to a specific log file. The specific configuration can be as follows.

og4j.logger.error=errorfile 
# error日志输出
log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.errorfile.file=logs/error.log 
log4j.appender.errorfile.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.errorfile.Threshold = ERROR 
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

The above is a detailed explanation of how to use log4j to record logs in Spring Boot. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!

The above is the detailed content of Detailed explanation of how to use log4j to record logs in Spring Boot. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn