springboot项目使用slf4j控制台输出日志+输出日志文件到本地

本文介绍了如何在SpringBoot项目中配置SLF4J,实现控制台日志输出以及将日志记录到本地文件。首先,添加maven依赖并创建logger全局变量。接着,通过application.yml和logback-spring.xml配置日志输出路径和格式。在logback-spring.xml中,详细设置了控制台和文件的日志appender,包括日志级别、输出路径和格式。配置完成后,启动项目,可以看到日志文件按预期生成。
摘要由CSDN通过智能技术生成

控制台输出日志

先引入maven依赖

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>

然后在使用日志的类中创建logger全局变量

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public Logger logger = LoggerFactory.getLogger(TestController.class);

然后就可以使用logger.info、logger.error等在控制台输出日志了

logger.info("测试输出日志");
logger.error(e.toString(), e);

输出日志文件到本地

首先,在application.yml中配置日志输出

logging:
  file: mylogs.log
  path: D:/SuperMapDataLogs/mylogs

如果就这样,那么本地是不会出现相关的日志文件的,接下来,就是要在xml中配置logging.path

我们在src/main/resources中创建一个logback-spring.xml,注意:-spring在application之后可以扫描到,如果只写logback.xml那么该xml就会优先于application.yml进行扫描,因此无效

logback-spring.xml(修改后面的包名即可)

<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
                 当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
<configuration  scan="true" scanPeriod="10 seconds">
    <contextName>logback-spring</contextName>

    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    <property name="logging.path" value="D:/SuperMapDataLogs/mylogs" />

    <!--0. 日志格式和颜色渲染 -->
    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /&g
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值