1 logback是一个日志框架

2 logback的构成

LogBack被分为3个组件,logback-core, logback-classic 和 logback-access。

其中logback-core提供了LogBack的核心功能,是另外两个组件的基础。

logback-classic则实现了Slf4j的API,所以当想配合Slf4j使用时,需要将logback-classic加入classpath。

logback-access是为了集成Servlet环境而准备的,可提供HTTP-access的日志接口。

3 logback的配置

3.1 配置的根节点是configuration

3.2 configuration的子节点有三个

appender、logger和layout

root是根logger。

appender是负责写日志的组件。

4 encoder

encoder的作用是将一个事件转换成字节码数组,然后将字节码数组写入OutputStream数组中。

5 logger和appender之间的关系

代码中使用的是logger,操作的是logger,logger关联appender,真正写日志和设置日志格式的是appender。

通过类名找logger,然后找appender的方法。

logger是通过name来关联类的,name是其所负责的类的整个路径的一部分,即类的包的路径的前缀匹配。在一个类中getLogger的时候,会去最长匹配logger的name,然后通过logger找到对应的appender。

6 logger设置的level

该logger只处理不小于该level的log,只将不小于该level的log交给appender。

7 关于access log

restlet提供了一个LogService来写access log,即org.restlet.service.LogService。只要将Logger的name设置为这个类,那么logback就会把access log交给想要的appender。

8 不指定appender的logger

会将自己的log交给root logger来处理,最后交给root logger对用的appender来进行处理。

additivity用来指示是否将本地的log转交给上级的logger来进行处理。

9 root logger

如果root logger有多个appender,那么root logger会将log转发给所有的appender。

如果不想要某些log,可以在appender中进行过滤。

参考资料之一:

https://www.cnblogs.com/cb0327/p/5759441.html

最新文章

  1. 我为Net狂 ~ 社交平台系列小集合!
  2. jquery插件的两种形式
  3. ZeroMQ接口函数之 :zmq_ctx_destroy - 销毁一个ZMQ环境上下文
  4. 在MFC中使用GDI+的一般方法,以VC6.0编译器为例
  5. PHP 获取图像信息 getimagesize 函数
  6. Spark Streaming实时计算框架介绍
  7. php 远程下载木马
  8. 用C#用C#实现窗体在规定时间弹出,例如:10:00.弹出后关闭。并在5分钟后再次弹出。5次后停止。最好有具体代码实现窗体在规定时间弹出,例如:10:00.弹出后关闭。并在5分钟后再次弹出。5次后停止。最好有具体代码
  9. ios 7 20像素解决
  10. 利用自动类型转换存储string类型
  11. 【笔记】【VSCode】Windows下VSCode编译调试c/c++
  12. .NET Core 2.0下载和文档
  13. JAVA面向对象-----多态
  14. 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(十)使用JRTPLIB传输RTP数据
  15. Java基础——javaMail:使用心得
  16. luogu1975 [国家集训队]排队
  17. Chapter 3 Phenomenon——12
  18. Java编程打印出1000以内所有的完数
  19. (三)Maven基本概念——常用插件的配置
  20. caffe RandomHue和RandomSaturation

热门文章

  1. log4j输出日志到flume
  2. 【共享单车】—— React后台管理系统开发手记:权限设置和菜单调整(未完)
  3. 转:Hash, MAC,HMAC说明
  4. 微信小程序 - 获取用户信息的几种方式
  5. HDU 5308 规律+模拟
  6. C++使用SQLite步骤及示例
  7. Navicat Premium 连接 Oracle 数据库
  8. 【Excle数据透视表】如何禁用数据透视表的总计行/列
  9. jQuery 事件 - delegate() 方法
  10. HTML <!DOCTYPE> (转自w3school)