logback日誌文件保存配置

1.按日期輸出一個文件

即天天生成一個日誌文件,會打包成zip包保存30天的日誌文件,配置以下:app

<appender name="info"
	          class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${dcs_app_path}/logs/info.log</file><!--配置的路徑-->
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>info</level><!--只打info日誌-->
		</filter>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!-- rollover daily -->
			<fileNamePattern>${dcs_app_path}/logs/info.%d{yyyy-MM-dd}.zip
			</fileNamePattern>
			<!-- keep 30 days' worth of history -->
			<maxHistory>30</maxHistory>
		</rollingPolicy>
		<encoder>
			<charset>UTF-8</charset>
			<pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
		</encoder>
	</appender>

2.按文件大小輸出一個文件

即設置日誌文件的大小10MB,打包成zip包保存30個日誌文件,配置以下:日誌

<appender name="info"
	          class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${dcs_app_path}/logs/info.log</file>
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>info</level>
		</filter>
		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<fileNamePattern>${dcs_app_path}/logs/info.%i.log.zip</fileNamePattern>
			<minIndex>1</minIndex>
			<maxIndex>30</maxIndex>
		</rollingPolicy>
		<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>10MB</maxFileSize>
		</triggeringPolicy>
		<encoder>
			<charset>UTF-8</charset>
			<pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
		</encoder>
	</appender>

3.按時間的同時又按大小輸出

即天天輸出多個大小固定的日誌文件,保存30天日誌,天天的日誌文件大於10MB時從新寫一個日誌文件。配置以下:code

<appender name="info"
	          class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${dcs_app_path}/logs/info.log</file>
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>info</level>
		</filter>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!-- rollover daily -->
			<fileNamePattern>${dcs_app_path}/logs/info.%d{yyyy-MM-dd}.%i.zip
			</fileNamePattern>
			<timeBasedFileNamingAndTriggeringPolicy
					class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<!-- or whenever the file size reaches 100MB -->
				<maxFileSize>10MB</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
			<!-- keep 30 days' worth of history -->
			<maxHistory>30</maxHistory>
		</rollingPolicy>
		<encoder>
			<charset>UTF-8</charset>
			<pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
		</encoder>
	</appender>
相關文章
相關標籤/搜索