SpringBoot經過yml和xml文件配置日誌輸出

SpringBoot中默認使用Logback進行日誌輸出,能夠同時使用經過logback的配置文件logback.xml或是SpringBoot框架的配置文件application.yml進行配置。php

經過logback.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
	<!--定義日誌文件的存儲地址 勿在 LogBack 的配置中使用相對路徑-->
	<property name="LOG_HOME" value="/test/log" />
	<!-- 控制檯輸出 -->
	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符-->
			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
		</encoder>
	</appender>
	<!-- 按照天天生成日誌文件 -->
	<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!--日誌文件輸出的文件名-->
			<FileNamePattern>${LOG_HOME}/my.log.%d{yyyy-MM-dd}.log</FileNamePattern>
			<!--日誌文件保留天數-->
			<MaxHistory>30</MaxHistory>
		</rollingPolicy>
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符-->
			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
		</encoder>
		<!--日誌文件最大的大小-->
		<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<MaxFileSize>10MB</MaxFileSize>
		</triggeringPolicy>
	</appender>

	<!-- 日誌輸出級別 -->
	<root level="INFO">
		<appender-ref ref="STDOUT" />
		<appender-ref ref="FILE" />
	</root>
</configuration>
複製代碼

經過application.yml配置

此處沒有找到如何配置成與xml相同的能將日誌文件輸出爲${LOG_HOME}/my.log.%d{yyyy-MM-dd}.log格式的方法,但願知道的大佬告知。html

logging:
 pattern:
 file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"
 console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"
 path: "./logs/"
 file: "./logs/my.log"
  file.max-size: 10MB
 level:
 root: INFO
複製代碼

參考

SpringBoot Logback日誌配置app

相關文章
相關標籤/搜索