lombok在springboot中無需配置即可在控制台輸出。
一般使用backlog.xml作為配置文件。
在application中指定backlog位置
不做任何配置時候,logback.xml默認應放置在classpath下,和application.yml同級。
可以在application.yml中顯式配置。
# 配置數據源信息
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
password: 123456
username: root
driver-class-name: com.mysql.cj.jdbc.Driver
#com.mysql.jdbc.Driver是MySQL 5版本的。MySQL 5以上需要使用 com.mysql.cj.jdbc.Driver
mybatis:
# 配置mybatis的resultType別名,默認是別名為小寫
type-aliases-package: com.lexiaoyao.mybatisdemo.domain
# 配置掃描的xml文件位置
mapper-locations: classpath:mybatis/mapper/*.xml
# mybatis詳細配置文件
config-location: classpath:mybatis/mybatis-config.xml
# logback.xml路徑配置
logging:
config: classpath:logconfig/logback.xml
backlog.xml
在backlog.xml中,可以對log進行定制。
以下是一個常用的配置。
只需修改property標簽的內容即可。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 項目名稱 -->
<property name="projectname" value="lombacktest"/>
<!-- 日志存放路徑 -->
<property name="log.path" value="logs"/>
<!-- 日志輸出格式 -->
<property name="log.pattern"
value="%d{yyy-MM-dd HH:mm:ss.SSS} [%X{X-B3-TraceId:-},%X{X-B3-SpanId:-}] [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<!-- 控制台輸出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系統日志輸出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/${projectname}-info.log</file>
<!-- 循環政策:基於時間創建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/${projectname}-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的歷史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 過濾的級別 -->
<level>INFO</level>
<!-- 匹配時的操作:接收(記錄) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配時的操作:拒絕(不記錄) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/${projectname}-error.log</file>
<!-- 循環政策:基於時間創建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/${projectname}-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的歷史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 過濾的級別 -->
<level>ERROR</level>
<!-- 匹配時的操作:接收(記錄) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配時的操作:拒絕(不記錄) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系統模塊日志級別控制 -->
<logger name="com.loop" level="info"/>
<!-- Spring日志級別控制 -->
<logger name="org.springframework" level="warn"/>
<root level="info">
<appender-ref ref="console"/>
</root>
<!--系統操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
</configuration>