springboot logger 的配置


 
 

 

1.dev(開發環境)中logger配置詳解

  <!-- 文件輸出格式 -->
	<property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
	<springProfile name="dev">
	<!-- 配置控制台輸出 -->
		<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
		<!-- 控制台輸出輸出的格式 -->
			<encoder>
				<pattern>${PATTERN}</pattern>
			</encoder>
		</appender>
		<!-- 在哪兒些包下,日志輸出的級別 -->
		<logger name="xxx.xxxx.xxx" level="debug"/>

		<root level="info">
		<!-- 啟動name為“CONSOLE”的日志級別,默認可以配置多個 -->
			<appender-ref ref="CONSOLE" />
		</root>
	</springProfile>

 

2.test(測試環境下)的配置文件

<property name="TEST_FILE_PATH" value="e:/test/logs/" />
<springProfile name="test">
		<!-- 每天產生一個文件 -->
		<appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
			<!-- 日志文件的全路徑 -->
			<file>${TEST_FILE_PATH}/spring_info.log</file>
			<!-- 日志文件的記錄格式 -->
			<encoder>
				<pattern>%d{yyyy-MM-dd HH:mm:ss} %-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
			</encoder>
			
			<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
				<!-- 文件名稱 -->
				<fileNamePattern>${TEST_FILE_PATH}/logFile.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
				<!-- 文件最大保存歷史數量 -->
				<MaxHistory>100</MaxHistory>
			</rollingPolicy>
			
			<layout class="ch.qos.logback.classic.PatternLayout">
				<pattern>${PATTERN}</pattern>
			</layout>
		</appender>
		
		<!-- 打印控制台 -->
		<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
			<encoder>
				<pattern>${PATTERN}</pattern>
			</encoder>
		</appender>
		
		<logger name="xxx.xxx.xxx" level="debug"/>
		
		<root level="info">
			<!-- 啟動name為“CONSOLE”和“TEST-FILE”日志級別,默認可以配置多個 -->
			<appender-ref ref="TEST-FILE" />
			<appender-ref ref="CONSOLE" />
		</root>
	</springProfile>

3.全部的配置文件

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

	<!-- 文件輸出格式 -->
	<property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
	<!-- test文件路徑 -->
	<property name="TEST_FILE_PATH" value="e:/test/logs/" />
	<!-- pro文件路徑 -->
	<property name="PRO_FILE_PATH" value="/opt/abc/logs" />

	<!-- 開發環境 -->
	<springProfile name="dev">
		<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
			<encoder>
				<pattern>${PATTERN}</pattern>
			</encoder>
		</appender>
		
		<logger name="xxx.xxx.xxx" level="debug"/>

		<root level="info">
			<appender-ref ref="CONSOLE" />
		</root>
	</springProfile>

	<!-- 測試環境 -->
	<springProfile name="test">
		<!-- 每天產生一個文件 -->
		<appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
			<!-- 文件路徑 -->
			<file>${TEST_FILE_PATH}/spring_info.log</file>
			<encoder>
				<pattern>%d{yyyy-MM-dd HH:mm:ss} %-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
			</encoder>
			
			<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
				<!-- 文件名稱 -->
				<fileNamePattern>${TEST_FILE_PATH}/logFile.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
				<!-- 文件最大保存歷史數量 -->
				<MaxHistory>100</MaxHistory>
			</rollingPolicy>
			
			<layout class="ch.qos.logback.classic.PatternLayout">
				<pattern>${PATTERN}</pattern>
			</layout>
		</appender>
		
		<!-- 打印控制台 -->
		<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
			<encoder>
				<pattern>${PATTERN}</pattern>
			</encoder>
		</appender>
		
		<logger name="xxx.xxx.xxx" level="debug"/>
		
		<root level="info">
			<appender-ref ref="TEST-FILE" />
			<appender-ref ref="CONSOLE" />
		</root>
	</springProfile>

	<!-- 生產環境 -->
	<springProfile name="prod">
		<appender name="PROD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
			<file>${PRO_FILE_PATH}</file>
			<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
				<fileNamePattern>${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
				<MaxHistory>100</MaxHistory>
			</rollingPolicy>
			<layout class="ch.qos.logback.classic.PatternLayout">
				<pattern>${PATTERN}</pattern>
			</layout>
		</appender>
		
		<root level="warn">
			<appender-ref ref="PROD_FILE" />
		</root>
	</springProfile>
</configuration>

加maven依賴

其中配置文件中有幾個類
輸出到控制台
ch.qos.logback.core.ConsoleAppender
輸出到文件
ch.qos.logback.core.rolling.RollingFileAppender
用於重命名日志文件名
ch.qos.logback.core.rolling.TimeBasedRollingPolicy

以上都是屬於logback-core.jar中的類
從繼承關系上看
在這里插入圖片描述
添加web的依賴即可

<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
</dependency>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM