阅读Logback文档笔记--LogBack架构
来源:互联网 发布:家具拆单下料软件 编辑:程序博客网 时间:2024/05/18 00:56
Logger, Appenders and Layouts
Logback构建在三个主要的类上面:Logger, Appender and Layouts
三个组件决定了日志的类型,格式,以及输出目的地
Logger类定义在loback-classic模块中, Appender 跟 Layout接口则定义在logback-core中,作为一个通用的模块,loback-core中没有Logger的概念。
日志等级Level的传递性
如果日志没有赋予level,则该Logger会从父Logger继承日志等级,父子关系如同java的包名:x.y作为x的子logger
如下
Logger name日志输出的等级规定:
日志能输出的等级Logger有效等级ch.qos.logback.classic.Logger logger =
(ch.qos.logback.classic.Logger) LoggerFactory.getLogger("com.foo");
//日志等级被设置成了INFO
logger.setLevel(Level. INFO);
//该日志请求被允许,因为WARN的级别大于INFO
logger.warn("Low fuel level.");
// 该日志请求被拒绝,因为DEBUF小于INFO
logger.debug("Starting search for nearest gas station.");
Appender的叠加性
一个Appender就相当于一个日志输出目的地。一个Logger中被允许的日志请求,将会被转发到所有Appender上,包括该Logger的父Logger的Appender上,换句话说,Appender具有叠加性,如果Additivity Flag未被设置成false,日志将会向上输出。而Additivity Flag默认为True。
说明表如下
false
. Only appender A-sec will be used.security.accessnonetrueA-secOnly appenders of "security" because the additivity flag in "security" is set to false
.采用何种日志输出编码
第一种(效率低):先对参数进行处理 。如果logger的日志级别不允许debug日志请求时,就做了无用功
logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
第二种(麻烦):先判断,在处理
if(logger.isDebugEnabled()) {
logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
}
第三种(推荐):内置先判断,再处理
logger.debug("The new entry is {}. It replaces {}.", entry, oldEntry);
//N多个参数,也可以使用数据对象
Object[] paramArray = {newVal, below, above};
logger.debug("Value {} was inserted between {} and {}.", paramArray);
Logger是如何运行的
0 0
- 阅读Logback文档笔记--LogBack架构
- 阅读Logback文档笔记--Logback简介
- 阅读Logback文档笔记--Logback的Configuration配置
- 阅读Logback文档笔记--Logback的Appender配置
- 阅读Logback文档笔记--Logback的Encoder配置
- 阅读Logback文档笔记--Logback的Layout配置
- 阅读Logback文档笔记--Logback的filter配置
- Logback笔记
- logback
- LOGBACK
- logback
- logback
- logback
- Logback
- logback
- logback
- Logback
- logback
- 【 HYSBZ】3668 起床困难综合症(NOI 2014)
- 阅读Logback文档笔记--Logback简介
- 图片 CSS3图片拖拽碰撞感应特效
- 1046. Shortest Distance (20)
- 1009. 说反话 (20)
- 阅读Logback文档笔记--LogBack架构
- Java与C++的异同点总结
- 阅读Logback文档笔记--Logback的Configuration配置
- 实习开始了
- django crsf not set问题
- C语言非排序查找第i小元素
- pagerank
- form表单提交数据编码方式和tomcat接受数据解码方式的思考
- 腾讯Bugly,简单实用的崩溃日志收集