zoukankan      html  css  js  c++  java
  • spring-boot配置slf4j日志

    SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J 是一个用于日志系统的简单 Facade,允许最终用户在部署其应用时使用其所希望的日志系统。

    spring-boot内部已经集成了slf4j,所以我们只要对slf4j做下简单的配置即可:

    首先我们需要一个文件用来做日志相关的配置:

    logback.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>

    <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
    <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
    <!-- 定义日志存储的路径,不要配置相对路径 -->
    <property name="FILE_PATH" value="E:/logs/demo.%d{yyyy-MM-dd}.%i.log" />

    <!-- 控制台输出日志 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
    <!-- 按照上面配置的LOG_PATTERN来打印日志 -->
    <pattern>${LOG_PATTERN}</pattern>
    </encoder>
    </appender>

    <!--每天生成一个日志文件,保存15天的日志文件。rollingFile是用来切分文件的 -->
    <appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${FILE_PATH}</fileNamePattern>
    <!-- keep 15 days' worth of history -->
    <maxHistory>15</maxHistory>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <!-- 日志文件的最大大小 -->
    <maxFileSize>10MB</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

    <encoder>
    <pattern>${LOG_PATTERN}</pattern>
    </encoder>
    </appender>
    <!-- project default level -->
    <logger name="src" level="INFO" />

    <!-- 日志输出级别 常用的日志级别按照从高到低依次为:ERROR、WARN、INFO、DEBUG。 -->
    <root level="INFO">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="FILE" />
    </root>
    </configuration>
    然后在application中指定配置文件的位置:

    ## 日志配置
    logging:
    config: src/main/resources/logback.xml
    level:
    com.github.springbootmiaosha.dao: trace
    logging.level 用来指定具体的 Mapper 中日志的输出级别,上面的配置表示 com.ruifeng.demo.dao 包下的所有 Mapper 日志输出级别为 Trace,会将操作数据库的 SQL 打印出来。开发时设置成 trace 方便定位问题,在生产环境上,将这个日志级别再设置成 error 级别即可.

    配置完成后我们想在哪里用直接用就好了:

    package com.github.springbootmiaosha;

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;

    /**
    * @author lizhangyu
    */
    @SpringBootApplication
    public class SpringbootMiaoshaApplication {

    private static final Logger logger = LoggerFactory.getLogger(SpringbootMiaoshaApplication.class);

    public static void main(String[] args) {
    logger.info("SpringBoot开始加载");
    SpringApplication.run(SpringbootMiaoshaApplication.class, args);
    logger.info("SpringBoot加载完毕");
    }

    }

  • 相关阅读:
    vim 配合管道过滤多行记录
    SpringBoot自动配置原理
    SpringBoot零XML配置的Spring Boot Application
    SpringBoot快速开始Hello World
    Java反射机制
    Java网络编程
    Java JDBC
    Java泛型
    Java I/O
    Java集合
  • 原文地址:https://www.cnblogs.com/yelanggu/p/13025304.html
Copyright © 2011-2022 走看看