logbak 日誌配置

logbak.xml文件的配置

模式一(推薦): 每天生成一個文件, 且每天生成的文件名稱相同(方便查看正在進行中的日誌, 名字是固定的, 直接將查看命令寫在腳本中就行了.), 到了第二天則自動將前一天的日誌文件重命名爲日期後綴.

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
	<contextName>logback</contextName>
	<!--輸出到控制檯 -->
	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>%d{HH:mm:ss} [%thread] %line %-5level %logger{36} - %msg%n </pattern>
		</encoder>
	</appender>
    <!-- 每天生成一個文件, 第二天自動重命名前一天的日誌 -->
	<!-- 不同日誌策略appender的class屬性不相同 -->
	<appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
		
		<!-- 每天生成的日誌文件名稱 -->
		<File>/opt/www/app/study_app/logs/app.log</File>

        <!-- 不同日誌策略rollingPolicy的class屬性不相同 -->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

			<!-- 重命名前一天日誌文件名的格式 -->
			<FileNamePattern>/opt/www/app/study_app/logs/app_%d{yyyy-MM-dd}.log </FileNamePattern>
            <!-- 最多保留多少天的日誌 -->
			<maxHistory>100</maxHistory>
		</rollingPolicy>
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%d{HH:mm:ss.SSS} [%thread] %line %-5level %logger{50} - %msg%n</pattern>
		</encoder>

		<!-- 設置該appender僅記錄info級別的日誌 -->
		<!--<filter class="ch.qos.logback.classic.filter.LevelFilter">-->
			<!--<level>info</level>-->
			<!--<onMatch>ACCEPT</onMatch>-->
			<!--<onMismatch>DENY</onMismatch>-->
		<!--</filter>-->
	</appender>

	<root level="info">
		<appender-ref ref="console" />
		<appender-ref ref="logFile" />
	</root>
</configuration>

 

模式二:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
	<contextName>logback</contextName>
	<!--輸出到控制檯 -->
	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>%d{HH:mm:ss} [%thread] %line %-5level %logger{36} - %msg%n </pattern>
		</encoder>
	</appender>

    <!-- 按照文件大小生成日誌 -->
	<!-- 不同日誌策略appender的class屬性不相同 -->
	<appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
    
        <!-- 不同日誌策略rollingPolicy的class屬性不相同 -->
		<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<FileNamePattern>/opt/www/app/study_app/logs/app_%d{yyyy-MM-dd}.%i.log </FileNamePattern>
            <!-- 每個文件大小 -->
			<maxFileSize>200MB</maxFileSize>
			<maxHistory>100</maxHistory>
		</rollingPolicy>
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%d{HH:mm:ss.SSS} [%thread] %line %-5level %logger{50} - %msg%n</pattern>
		</encoder>
	</appender>

	<root level="info">
		<appender-ref ref="console" />
		<appender-ref ref="logFile" />
	</root>
</configuration>

.日誌輸出關鍵字:

行號:  %line
某個包下面的日誌不打印(springboot項目中o.s.k. 等爲簡寫, 需要找到實際的包名): 

<logger name="org.springframework.kafka" level="OFF"/>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章