logback日志框架——配置文件


  為了便於使用,留存一份logback的配置文件。

  首先,需要在resources下創建logback文件夾,並存放以下三個文件,這是我的個人習慣,也可以都寫在logback.xml中

  • logback.properties,用於定義變量
  • appender.xml,用於定義Appender對象
  • logger.xml,用於定義logger。

  創建logback.xml,引入其他三個文件。具體的配置如下:

1、logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 配置debug屬性,開啟日志框架的調試模式 -->
<configuration debug="true">
	<!-- 定義contextName,項目名 -->
	<contextName>logback_study</contextName>
	<!-- 引入properties文件,定義變量 -->
	<property resource="logback/logback.properties" />
	<!-- 引入Appender,必須在logger之前 -->
	<include resource="logback/appender.xml" />
	<!-- 引入logger -->
	<include resource="logback/logger.xml" />
	<!-- 定義root logger -->
	<root level="info">
	  <appender-ref ref="console" />
  	  <appender-ref ref="file" />
	</root> 
</configuration>

2、Logback.properties

# 定義日志存放的目錄
# 項目名稱
app_name=logbackStudy
# 日志存放的根路徑
file_root_dir=D:\\
# 當前項目日志存放的根路徑
file_root_app_dir=${file_root_dir}\\${app_name}
# 歷史日志文件存放的根路徑
file_root_app_history_dir=${file_root_dir}\\${app_name}\\history

# 日志格式
# 默認的日志格式
default_pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} %n
# console的日志格式
console_pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %logger %n[%thread] %7level: %message %n
# fileAppender的日志格式
file_pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %logger %n[%thread] %7level: %message %n

3、Appender.xml

<included>
	<!-- 定義輸出控制台 ConsoleAppender -->
	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
		<!-- 包含1個encoder -->
		<encoder>
			<pattern>${console_pattern}</pattern>
		</encoder>
		<!-- 包含1個target,System.out 或者是System.err,默認為System.out -->
		<target>System.out</target>
		<!-- 包含1個 withJansi, 是否對不同級別的日志用顏色來區分 -->
		<withJansi>false</withJansi>
	</appender>

	<!-- 定義RollingFileAppender -->
	<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<!-- 設置日志文件的名稱 -->
		<file>${file_root_app_dir}/${app_name}_log.txt</file>
		<!-- 設置是否追加在日志文件,該值默認為true -->
		<append>true</append>
		<!-- 設置immediateFlush -->
		<immediateFlush>true</immediateFlush>
		<!-- 設置rollingPolicy -->
		<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<!-- 指定fileNamePattern,定義日志文件或者是壓縮包存放的位置,如果存在file屬性,日志輸出到file文件中,fileNamePattern存放日志壓縮文件的路徑 -->
			<fileNamePattern>${file_root_app_history_dir}/%d{yyyy/MM,aux}/%d{yyyy-MM-dd}_log%i.zip</fileNamePattern>
			<!-- 每個文件的大小 -->
			<maxFileSize>5MB</maxFileSize>
			<!-- 指定最大的歷史,365天,對應fileNamePattern中的日期格式 -->
			<maxHistory>365</maxHistory>
			<!-- 日志文件的總大小,20GB -->
			<totalSizeCap>20GB</totalSizeCap>
		</rollingPolicy>
		<!-- 設置一個或者多個encoder -->
		<encoder>
			<pattern>${file_pattern}</pattern>
		</encoder>
	</appender>
</included> 

4、Logger.xml

<included>
	<!-- 定義logger -->
	<logger name="com.rain.test" level="debug" additivity="false">
		<appender-ref ref="console" />
		<appender-ref ref="file" />
	</logger>
</included>


免責聲明!

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



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