當(dāng)你停下來休息的時候,不要忘記,別人還在奔跑~
logback配置
<?xml version="1.0" encoding="UTF-8"?>
<!-- 從高到地低 OFF 筒捺、 FATAL 棕洋、 ERROR 泊业、 WARN 、 INFO 蜈出、 DEBUG 、 TRACE 涛酗、 ALL -->
<!-- 日志輸出規(guī)則 根據(jù)當(dāng)前ROOT 級別铡原,日志輸出時,級別高于root默認的級別時 會輸出 -->
<!-- 以下 每個配置的 filter 是過濾掉輸出文件里面商叹,會出現(xiàn)高級別文件燕刻,依然出現(xiàn)低級別的日志信息,通過filter 過濾只記錄本級別的日志-->
<!-- 屬性描述
scan:設(shè)置為true時剖笙,配置文件如果發(fā)生改變酌儒,將會被重新加載,默認值為true
scanPeriod:設(shè)置監(jiān)測配置文件是否有修改的時間間隔枯途,如果沒有給出時間單位忌怎,默認單位是毫秒。
當(dāng)scan為true時酪夷,此屬性生效榴啸。默認的時間間隔為1分鐘。
debug:當(dāng)此屬性設(shè)置為true時晚岭,將打印出logback內(nèi)部日志信息鸥印,實時查看logback運行狀態(tài)。默認值為false。
-->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!--定義日志文件的存儲地址 -->
<property name="LOG_HOME" value="/home/erp/order/logs"/>
<!-- 控制臺輸出 -->
<appender name="ConsoleLog" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化輸出:%d表示日期库说,%thread表示線程名狂鞋,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - %logger [%thread] %-5level - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!--Info文件輸出-->
<!-- 按照每天和固定大小(5MB)生成日志文件【最新的日志潜的,是日期最大數(shù)字最大的】 -->
<appender name="FileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--如果只是想要 Info 級別的日志骚揍,只是過濾 info 還是會輸出 Error 日志,因為 Error 的級別高啰挪,
所以我們使用下面的策略信不,可以避免輸出 Error 的日志,這種方式不能避免warn-->
<!-- 過濾日志 -->
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">-->
<!--過濾 Error-->
<!-- <level>ERROR</level>-->
<!--匹配到就禁止-->
<!-- <onMatch>DENY</onMatch>-->
<!--沒有匹配到就允許-->
<!-- <onMismatch>ACCEPT</onMismatch>-->
<!-- </filter>-->
<!--只輸出INFO-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!--過濾 INFO-->
<level>INFO</level>
<!--匹配到就禁止-->
<onMatch>ACCEPT</onMatch>
<!--沒有匹配到就允許-->
<onMismatch>DENY</onMismatch>
</filter>
<!--滾動策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件輸出的文件名-->
<FileNamePattern>${LOG_HOME}/Info/erp_order_Info_%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天數(shù)-->
<MaxHistory>15</MaxHistory>
<!--日志文件最大的大小-->
<MaxFileSize>50MB</MaxFileSize>
</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>
<charset>UTF-8</charset>
</encoder>
</appender>
<!--Error文件輸出-->
<!-- 按照每天和固定大小(50MB)生成日志文件【最新的日志锰什,是日期最大數(shù)字最大的】 -->
<appender name="FileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<!--設(shè)置日志級別,過濾掉info日志,只輸入error日志-->
<level>ERROR</level>
</filter>
<!--滾動策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件輸出的文件名-->
<FileNamePattern>${LOG_HOME}/Error/erp_order_Error_%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天數(shù)-->
<MaxHistory>15</MaxHistory>
<!--日志文件最大的大小-->
<MaxFileSize>50MB</MaxFileSize>
</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>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 開發(fā)環(huán)境.輸出日志到控制臺 多個使用逗號隔開. -->
<springProfile name="test">
<root level="INFO">
<appender-ref ref="ConsoleLog"/>
</root>
</springProfile>
<!-- 測試環(huán)境+生產(chǎn)環(huán)境梭姓,輸出日志到文件 多個使用逗號隔開. -->
<springProfile name="dev,prod">
<root level="info">
<appender-ref ref="FileInfoLog"/>
<appender-ref ref="FileErrorLog"/>
</root>
</springProfile>
</configuration>
關(guān)于 / 說明:
Linux中根目錄用/表示。而windows表示目錄的方式與Linux有所不同沦泌,Windows下有磁盤分區(qū)的概念糊昙,而Linux下只有目錄的概念辛掠,所以‘/’所表示的意義在兩個系統(tǒng)中有所不同谢谦。
‘/’在linux中表示根目錄。在Linux系統(tǒng)中萝衩,除根目錄(root)以外回挽,所有文件和目錄都包含在相應(yīng)的目錄文件中。Linux文件系統(tǒng)采用帶鏈接的樹形目錄結(jié)構(gòu)猩谊,即只有一個根目錄(通常用“/”表示)千劈,其中含有下級子目錄或文件的信息;子目錄中又可含有更下級的子目錄或者文件的信息牌捷。這樣一層一層地延伸下去墙牌,構(gòu)成一棵倒置的樹。
‘/’在windows中也表示根目錄暗甥,但那個磁盤的根目錄喜滨。所以如果用上面的配置,那么日志將在你項目所在的磁盤根目錄撤防。
總結(jié):
最近用elk+fileBeat搭建日志收集中心虽风,需要收集不同環(huán)境下的日志信息,以上配置復(fù)制即用。
參考:
https://blog.csdn.net/fly910905/article/details/85043561