Springboot中引入spring-boot-starter-web时,默认会引入self4j + logback,所以如果没有其他日志的需求,这两个就可以,他们支持的日志配置文件名可以为logback.xml,放在resources下即可生效:

<configuration>
    <!-- 尽量别用绝对路径,如果带参数不同容器路径解释可能不同 -->
    <property name="LOG_HOME" value="logs/"/>
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%level] %d{yyyy-MM-dd HH:mm:ss.SSS,Asia/Shanghai} %X{logId} %c.java - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--<Encoding>UTF-8</Encoding>-->
        <!--<file>${LOG_HOME}/server.log</file>-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${LOG_HOME}/server.log.%d{yyyy-MM-dd-HH}</FileNamePattern>
            <MaxHistory>60</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>[%level] %d{yyyy-MM-dd HH:mm:ss.SSS,Asia/Shanghai} %X{logId} %c.java - %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
    </appender>

    <appender name="mysql" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/mysql.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${LOG_HOME}/mysql.log.%d{yyyy-MM-dd-HH}</FileNamePattern>
            <MaxHistory>60</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>[%level] %d{yyyy-MM-dd HH:mm:ss.SSS,Asia/Shanghai} %X{logId} %c.java - %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
    </appender>

    <appender name="redis" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/redis.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${LOG_HOME}/redis.log.%d{yyyy-MM-dd-HH}</FileNamePattern>
            <MaxHistory>60</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>[%level] %d{yyyy-MM-dd HH:mm:ss.SSS,Asia/Shanghai} %X{logId} %c.java - %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
    </appender>


    <!-- 用来设置某一个包或者具体的某一个类的日志打印级别,包名要与实际项目一致 -->
    <logger name="org.mybatis" level="DEBUG" additivity="false">
        <appender-ref ref="mysql"/>
    </logger>
    <!-- 将级别为“DEBUG”及大于“DEBUG”的日志信息传递给root处理,本身并不打印 -->
    <logger name="org.springframework.boot" level="INFO"/>

    <root level="info"> <!-- root将级别为“INFO”及大于“INFO”的日志信息交给已经配置好的名为“Console”的appender处理,“Console”appender将信息打印到Console; -->
        <appender-ref ref="Console"/>
        <!-- 标识这个appender将会添加到这个logger -->
        <appender-ref ref="FILE"/>
    </root>
</configuration>

       其中已经把日志的输出模式中时区改为了中国,确保日志输出时间正确。日志中也已经设定了输出路径,与src同级。执行数据库的CRUD时,会讲sql语句和返回结果输出到控制台:
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐