如何设计一个优秀的小程序开发平台?
913
2023-03-04
使用logback屏蔽一些包的日志
在logback.xml中加上该配置,包名如:com.xxx
补充知识:logback,利用java包名对包内所有类定义输出形式
目的
将java package 中的所有类定义一个输出logger,定义它的级别,这样就不用每个类都配置。
测试
配置文件
package com-ease.haitao.LogbackTest;
import org.slf4jhttp://.Logger;
import org.slf4j.LoggerFactory;
/**
* ${todo}
*
* @param: $$params$
* @return $returns$
* @date $date$ $time$
CiwJYaHI*/
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.CiwJYaHIwarn("warn");
logger.error("error");
}
}
输出结果
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级别的信息,这是因为配置文件中“logger name=“com-ease.haitao.LogbackTest” level=“warn”” 中定义了日志级别,并且有root作为一个根级别的日志输出节点。
如果我们把name换成其他名字,修改为“logger name=“Test5” level=“warn””,我们看下结果:
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
上述结果就是修改后的结果,从这里看出,所有的日志信息都从root这个父节点输出了,因为root的级别是debug,所有的日志信息都打印出来了,这样说明我们之前配置的java包的测试是成功的,有结果的。
如果项目是基于springboot框架的话,不需要额外引用相关依赖,直接配置logback.xml就可以直接用。
结论
上述测试证明:logger的name可以配置成java包名,这样可以对包内的所有java类都起作用。帮助简化配置。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~