使用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開(kāi)發(fā)Spark應(yīng)用程序自定義PipeLineStage詳解
這篇文章主要為大家介紹了Java開(kāi)發(fā)Spark應(yīng)用程序自定義PipeLineStage詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Struts2學(xué)習(xí)筆記(3)-DMI動(dòng)態(tài)調(diào)用方式
本文主要介紹Struts2的DMI動(dòng)態(tài)調(diào)用的兩種方式,簡(jiǎn)單實(shí)用,希望能給大家做一個(gè)參考。2016-06-06
基于spring如何實(shí)現(xiàn)事件驅(qū)動(dòng)實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于基于spring如何實(shí)現(xiàn)事件驅(qū)動(dòng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
java獲取版本號(hào)及字節(jié)碼編譯版本方法示例
這篇文章主要給大家介紹了關(guān)于java獲得版本號(hào)及字節(jié)碼編譯版本的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
java反射_改變private中的變量及方法的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇java反射_改變private中的變量及方法的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
SpringBoot動(dòng)態(tài)定時(shí)功能實(shí)現(xiàn)方案詳解
在SpringBoot項(xiàng)目中簡(jiǎn)單使用定時(shí)任務(wù),不過(guò)由于要借助cron表達(dá)式且都提前定義好放在配置文件里,不能在項(xiàng)目運(yùn)行中動(dòng)態(tài)修改任務(wù)執(zhí)行時(shí)間,實(shí)在不太靈活?,F(xiàn)在我們就來(lái)實(shí)現(xiàn)可以動(dòng)態(tài)修改cron表達(dá)式的定時(shí)任務(wù),感興趣的可以了解一下2022-11-11

