前言
springboot可以配置日志输出控制台格式,输出到文件,利用logback配置可实现
一、application.yml指定配置文件路径
# 日志配置
logging:
config: classpath:logback-spring.xml
二、logback-spring.xml 配置内容
在项目 Resource文件目录下新建logback-spring.xml 配置文件,以下配置了输出到控制台的日志格式和输出到文件的日志格式
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<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" />
<property name="LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} %line : %msg%n"/>
<property name="FILE_PATH" value="logs/application_log.%d{yyyy-MM-dd}.%i.log"/>
<!-- 控制台输出-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- 日志输出到文件-->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${FILE_PATH}</fileNamePattern>
<!-- 日志保存7天 -->
<maxHistory>7</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 单个日志文件的最大,超过则新建日志文件存储 -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 格式化json输出 -->
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<pattern>
<pattern>
{
"tags": "info_log",
"application": "${spring.application.name}",
"timestamp": "%d{yyyy-MM-dd HH:mm:ss.SSS}",
"log_level": "%level",
"thread": "%thread",
"class_name": "%class",
"line_number": "%line",
"message": "%message",
"stack_trace": "%exception{50}"
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
<!-- 日志输出级别-->
<logger name="com.linzhip.jdbcconnect" level="INFO"/>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</configuration>
码字不易,如果有帮助到点个赞趴~~
版权声明:本文为m4330187原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。