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='.'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='.'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='.'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!

在使用Netty开发WebSocket服务器时,可能会遇到浏览器在尝试连接时未能正确处理服务器返回的401状态码的情况。 �...

Java compilation failed: Running window javac command cannot generate class file Many Java beginners will encounter this problem during the learning process: running window...

Discussing the hierarchical architecture problem in back-end development. In back-end development, common hierarchical architectures include controller, service and dao...

Packages and Directories in Java: The logic behind compiler errors In Java development, you often encounter problems with packages and directories. This article will explore Java in depth...

Leetcode ...

JWT and Session Choice: Tradeoffs under Dynamic Permission Changes Many Beginners on JWT and Session...

How to correctly configure apple-app-site-association file in Baota nginx? Recently, the company's iOS department sent an apple-app-site-association file and...

How to understand the classification and implementation methods of two consistency consensus algorithms? At the protocol level, there has been no new members in the selection of consistency algorithms for many years. ...


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 English version
Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.