Logback:只輸出Info和Error級別的日志,并輸出到不同的文件

當(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辜膝,一起剝皮案震驚了整個濱河市无牵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌厂抖,老刑警劉巖茎毁,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異验游,居然都是意外死亡充岛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門耕蝉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來崔梗,“玉大人,你說我怎么就攤上這事垒在∷馄牵” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵场躯,是天一觀的道長谈为。 經(jīng)常有香客問我,道長踢关,這世上最難降的妖魔是什么伞鲫? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮签舞,結(jié)果婚禮上秕脓,老公的妹妹穿的比我還像新娘。我一直安慰自己儒搭,他們只是感情好吠架,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著搂鲫,像睡著了一般傍药。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上魂仍,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天拐辽,我揣著相機與錄音,去河邊找鬼擦酌。 笑死俱诸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的仑氛。 我是一名探鬼主播乙埃,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼闸英,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了介袜?” 一聲冷哼從身側(cè)響起甫何,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎遇伞,沒想到半個月后辙喂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡鸠珠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年巍耗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渐排。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡炬太,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出驯耻,到底是詐尸還是另有隱情亲族,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布可缚,位于F島的核電站霎迫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏帘靡。R本人自食惡果不足惜知给,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望描姚。 院中可真熱鬧涩赢,春花似錦、人聲如沸轰胁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赃阀。三九已至,卻和暖如春擎颖,著一層夾襖步出監(jiān)牢的瞬間榛斯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工搂捧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留驮俗,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓允跑,卻偏偏與公主長得像王凑,于是被迫代替她去往敵國和親搪柑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容