SpringBoot 集成Log4j

(1)在pom.xml中添加依赖

<!--去掉springboot默认的日志-->
        <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>

        <!--log4j的依赖-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

springboot默认使用自带的日志,需要先去掉自带的spring-boot-starter-logging,我们引入的log4j才会起作用。

(2)在resources下新建log4j.properties

# Global logging configuration
log4j.rootLogger=DEBUG, stdout,D


# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE


# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n


# File output...
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
#相对路径,相对于tomcat的根目录。
#log4j.appender.D.File = ../logs/error.log
log4j.appender.D.File = D:/logs/error.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = ERROR
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.appender.D.encoding=UTF-8

springboot官方推荐日志配置的文件名以-spring结尾,log4j-spring.properties。当然,使用log4j.properties也行。

至此已经集成log4j,springboot会自动使用log4j来管理日志。

我们可以手动输出日志:

Logger logger = Logger.getLogger(UserController.class);  //传入当前类的class对象
        logger.debug("This is debug message.");
        logger.error("This is error message.");

Logger一般写成成员变量的形式,方便在此类的所有方法中使用:

private Logger logger = Logger.getLogger(UserController.class);

注意导入的Logger是:

import org.apache.log4j.Logger;

不要导错了。

相关推荐