使用logback屏蔽一些包的日志
在logback.xml中加上該配置,包名如:com.xxx
<logger name="packageName" level="OFF"> </logger>
補(bǔ)充知識(shí):logback,利用java包名對(duì)包內(nèi)所有類定義輸出形式
目的
將java package 中的所有類定義一個(gè)輸出logger,定義它的級(jí)別,這樣就不用每個(gè)類都配置。
測(cè)試
配置文件
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%d{MM/dd/yyyy HH:mm:ss} %-5level [%thread%X{sourceThread}]%logger{24} - %msg%n</pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>/var/log/admin-manage/log.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/var/log/admin-manage/log.%d{yyyy-MM-dd}.log.gz</fileNamePattern> <maxHistory>7</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%d{MM/dd/yyyy HH:mm:ss} %-5level ${version} [%thread]%logger{16} - %msg%n </pattern> </encoder> </appender> <logger name="test1" level="info"/> <logger name="test2" level="info" additivity="false"/> <logger name="test3" level="warn" additivity="false"> <appender-ref ref="STDOUT"/> </logger> <logger name="test4" level="warn" > <appender-ref ref="STDOUT"/> </logger> <logger name="com.netease.haitao.LogbackTest" level="warn"> <appender-ref ref="STDOUT"/> </logger> <root level="DEBUG"> <appender-ref ref="STDOUT"/> </root> </configuration>
代碼
package com.netease.haitao.LogbackTest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * ${todo} * * @param: $$params$ * @return $returns$ * @date $date$ $time$ */ public class LogBackTestOne { private static final Logger logger = LoggerFactory.getLogger(LogBackTestOne.class); public static void main(String[] arg) { // print("test1"); // print("test2"); // print("test3"); // print("test4"); print("test4.test5"); } public static void print(String name) { //Logger logger = LoggerFactory.getLogger(name); logger.debug("debug"); logger.info("info"); logger.warn("warn"); logger.error("error"); } }
輸出結(jié)果
05/03/2018 09:28:38 WARN [main]c.n.h.L.LogBackTestOne - warn
05/03/2018 09:28:38 WARN [main]c.n.h.L.LogBackTestOne - warn
05/03/2018 09:28:38 ERROR [main]c.n.h.L.LogBackTestOne - error
05/03/2018 09:28:38 ERROR [main]c.n.h.L.LogBackTestOne - error
大家可以注意到,這里只輸出warn和error級(jí)別的信息,這是因?yàn)榕渲梦募小發(fā)ogger name=“com.netease.haitao.LogbackTest” level=“warn”” 中定義了日志級(jí)別,并且有root作為一個(gè)根級(jí)別的日志輸出節(jié)點(diǎn)。
如果我們把name換成其他名字,修改為“l(fā)ogger name=“Test5” level=“warn””,我們看下結(jié)果:
05/03/2018 09:24:04 DEBUG [main]c.n.h.L.LogBackTestOne - debug
05/03/2018 09:24:04 INFO [main]c.n.h.L.LogBackTestOne - info
05/03/2018 09:24:04 WARN [main]c.n.h.L.LogBackTestOne - warn
05/03/2018 09:24:04 ERROR [main]c.n.h.L.LogBackTestOne - error
上述結(jié)果就是修改后的結(jié)果,從這里看出,所有的日志信息都從root這個(gè)父節(jié)點(diǎn)輸出了,因?yàn)閞oot的級(jí)別是debug,所有的日志信息都打印出來(lái)了,這樣說(shuō)明我們之前配置的java包的測(cè)試是成功的,有結(jié)果的。
如果項(xiàng)目是基于springboot框架的話,不需要額外引用相關(guān)依賴,直接配置logback.xml就可以直接用。
結(jié)論
上述測(cè)試證明:logger的name可以配置成java包名,這樣可以對(duì)包內(nèi)的所有java類都起作用。幫助簡(jiǎn)化配置。
以上這篇使用logback屏蔽一些包的日志就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java 學(xué)習(xí)筆記(入門篇)_java的安裝與配置
學(xué)習(xí)Java已經(jīng)很長(zhǎng)時(shí)間了,由于基礎(chǔ)不好遇到問(wèn)題就無(wú)從下手,所以,打算寫(xiě)Java的隨手筆記來(lái)鞏固基礎(chǔ),加強(qiáng)學(xué)習(xí),接下來(lái)講解java的安裝,配置等,感興趣的朋友可以參考下2013-01-01基于mybatis中test條件中單引號(hào)雙引號(hào)的問(wèn)題
這篇文章主要介紹了基于mybatis中test條件中單引號(hào)雙引號(hào)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01Java中Queue的poll()和remove()區(qū)別詳解
這篇文章主要介紹了Java中Queue的poll()和remove()區(qū)別詳解,Queue接口提供了許多方法,其中poll()和remove()是兩個(gè)常用的方法,它們的區(qū)別在于,當(dāng)隊(duì)列為空時(shí),poll()方法返回null,而remove()方法會(huì)拋出,需要的朋友可以參考下2023-07-07Java中的字節(jié),字符輸出流與字節(jié)和字符輸入流的簡(jiǎn)單理解
這篇文章主要介紹了java 字節(jié)流和字符流的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-07-07Java中Aspose組件進(jìn)行多文檔間的轉(zhuǎn)換方法總結(jié)
在本篇文章里我們給大家分享了關(guān)于Java中Aspose組件進(jìn)行多文檔間的轉(zhuǎn)換方法內(nèi)容,需要的朋友們學(xué)習(xí)下吧。2019-02-02java web response提供文件下載功能的實(shí)例講解
下面小編就為大家分享一篇java web response提供文件下載功能的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Java多維數(shù)組和Arrays類方法總結(jié)詳解
這篇文章主要介紹了Java多維數(shù)組和Arrays類方法總結(jié)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Java實(shí)現(xiàn)生成JSON字符串的三種方式分享
這篇文章主要來(lái)和大家分享一下Java實(shí)現(xiàn)生成JSON字符串的常見(jiàn)三種方式,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以參考一下2023-05-05