log4j 系列05 -- SpringBoot 配置和使用 Log4j2

10 篇文章 0 订阅

POM依赖(去除Boot自带)  ==>  新增配置文件  ==>

项目里设置配置文件  ==> 

程序里使用(import  ==>  getLogger   ==>  使用)

https://blog.csdn.net/RyanDon/article/details/82589989

1、POM 依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

绕坑:如项目中有导入spring-boot-starter-web依赖包记得去掉spring自带的日志依赖spring-boot-starter-logging,如下:

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

2、新增配置文件--log4j.xml /  log4j.properties


<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <properties>
        <property name="LOG_HOME">logs</property>
        <property name="FILE_NAME">mylog</property>
    </properties>


    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} - %msg%n" />
        </Console>

        <RollingRandomAccessFile name="RollingRandomAccessFile" fileName="${LOG_HOME}/${FILE_NAME}.log" filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd HH-mm}-%i.log">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1"/>
                <SizeBasedTriggeringPolicy size="10 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="20"/>
        </RollingRandomAccessFile>
    </Appenders>

    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console" />
            <AppenderRef ref="RollingRandomAccessFile" />
        </Root>

        <Logger name="org.springframework" level="info" additivity="false">
            <AppenderRef ref="Console" />
        </Logger>
    </Loggers>
</Configuration>

3、项目里设置配置文件位置

application.properties  里配置:

logging.config=classpath:log4j2.xml

4、使用 slf4j  -- 使用层面 跟 SSM 项目就没区别了

(1)程序中引入 logger 

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

首先要引入slf4j.Logger和slf4j.LoggerFactory,这点很重要,因为对应的log4j也有这两个类,接着如下:

(2)、设置 logger 实例

#使用本类实例获取 Logger.默认遵循 rootLogger 配置
private static final Logger log = LoggerFactory.getLogger(MyTest.class); 

(3)、使用 logger 实例

log.debug("");
log.info("");
log.warn("");
log.error("");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值