spring boot中记录日志

在spring boot中,spring-boot-starter-loggingspring-boot-starter的一个依赖,也就意味着spring boot项目默认就有了例如日志的能力。spring-boot-starter-logging中包含了SLF4J以及Logback的实现,并且,spring boot logging还支持自动配置。所以,日志的功能在spring boot中是开箱即用的

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static Logger logger = LoggerFactory.getLogger(TestContoller.class);

拿到logger后就可以直接写日志了。不过此时日志的级别是默认的INFO,并且日志只输出到stdout中。下面来看一下如何修改日志级别,以及将日志写入本地文件,只需要在application.properties文件中简单地配置一下即可

logging.level.com.example.springbootstart=DEBUG  # 将此项目的包的日志级别设置为DEBUG
logging.path=/tmp/starter/logging               # local path

如果你觉得这些配置不能满足你的要求,你可以将logback.xml文件放到你classpath的根目录下,spring boot会自动读取并采用这个文件中的配置。

如果你想使用别的日志框架,如log4j等,也是支持的,只需要将spring-boot-starter-loggingspring-boot-starter排除,并加入你想用的日志框架的包即可。下面的配置演示了如何使用log4j作为默认的日志工具

<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>

使用logback配置文件

在spring-boot中,可以在resources文件夹内添加一个 logback-spring.xml 文件,既可以使用spring的配置项,又可以使用logback配置文件的写法。下面是一个实例,它配置了将日志输出到当前目录的logs文件夹中,每天生成一个日志文件。

<configuration>

    <springProperty scope="context" name="logging.path" source="logging.path" defaultValue="logs"/>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logging.path}/%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="com.demo" level="DEBUG"/>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
    </root>

</configuration>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值