一. Reference:http://www.cnblogs.com/yongze103/archive/2012/05/05/2484753.html

1. Logback为取代log4j而生,logback当前分为三个模块:logback-core,logback-classic,logback-access. Simple Log Facade , slf4j.

2. Logback的核心对象:Logger, Appender, Layout,Logback主要建立于Logger, Appender 和Layout这三个类之上的。

  Logger: 日志的记录器,把他关联到对应的context上后,主要用于存放日志对象,也可以定义日志类型,级别。Logger对象一般多定义为静态常量。

    Appender:用于指定日志输出的目的地,目的地可以是控制台、文件、远程套接字服务器、mysql等。

Layout:负责把事件转换成字符串,格式化的日志信息的输出。具体的Layout通配符,可以直接查看帮助文档。

3. Level有效级别

  Logger可以被分配级别。级别包括:trace, debug, info, warn和error, 定义于ch.qos.logback.classic.Level类。

4. 三值逻辑

  Logback的过滤器基于三值逻辑(ternary logic),允许把他们组装或成链,从而组成任意的复合过滤策略。过滤器的返回值有三种:

  deny:那么记录时间立即被抛弃,不再经过剩余过滤器;

  neutral:那么有序列表里的下一个过滤器会接着处理记录事件;

  accept:那么记录事件会被立即处理,不再经过剩余过滤器。

5. Filter过滤器

  Logback-classic提供两种类型的过滤器:常规过滤器和TuroboFilter过滤器。logback整体流程:logger产生日志信息,layout修饰这条msg的显示格式,filter过滤显示的内容,appender具体的显示,即保存这日志信息的地方。

二. reference: logback.qos.ch/manual

1. An appender is a class that can be seen as an output destination. Appenders exist for many different destination including the console, files, syslog, tcp sockets, jms and many more. Users can also easily create their own Appenders as appropriate for their specific situation.

2. core, classic, access

classic extends core, implements the SLF4J API.

access integrates with Servlet containers to provide HTTP-access log functionality.

3. Every single logger is attached to a LoggerContext which is responsible for manufacturing loggers as well as arranging them in a tree like hierarchy.

4. The root logger resides at the top of the logger hierarchy.

5. To ensure that all loggers can eventually inherit a level, the root logger always has an assigned level. By default, this level is DEBUG.

6. Parameterized logging

  6.1

  logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));

  如果没有做判断,这logger中的字符串拼接会执行,但是当获取entry中第i个字符,并将其转换为字符串,并拼接成功之后,debug输出的这条语句未必显示,所以在这种语句之前最好判断一下:

if(logger.isDebugEnabled()) {
logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
}

  6.2

logger.debug("The new entry is "+entry+".");
logger.debug("The new entry is {}.", entry);//在判断是否会被输出,并且将会被输出,之后才对被输出的参数进行处理

7. Logback依赖于一个配置库叫做:Joran,这个库位于Logback-core。

8. Logback通过StatusManager对象收集log内部的状态数据,这个StatusManager可以通过LoggerContext访问。

9. 每个Logger都依附于一个Logger Context。默认情况下,这个logger context叫做“default”。但是,我们可以通过<contextName> 来给context起一个名字,但是一旦名字被set,就不能更改。

【logback】认识logback的更多相关文章

  1. logback:logback和slf4j中的:appender、logger、encoder、layout

    (1)appender 1.appender标签是logback配置文件中重要的组件之一.在logback配置文件中使用appender标签进行定义.可 以包含0个或多个appender标签. 2.a ...

  2. java日志框架之logback(一)——logback工程简介

    Logback工程 致力于成为log4j工程的继承者 Logback的架构足够泛型化,故能够应用于许多不同的环境.当前,logback划分为三个组件: logback-core logback-cla ...

  3. logback配置文件---logback.xml详解

    一.参考文档 1.官方文档 http://logback.qos.ch/documentation.html 2.博客文档 http://www.cnblogs.com/warking/p/57103 ...

  4. Logback配置连接

    logback 简介 logback 常用配置详解(一)<configuration> and <logger> logback 常用配置详解(二)<appender&g ...

  5. 【转】logback logback.xml常用配置详解(三) <filter>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1110008, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  6. 【转】logback logback.xml常用配置详解(二)<appender>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  7. 【转】logback logback.xml常用配置详解(一)<configuration> and <logger>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  8. 【转】logback 常用配置详解(序)logback 简介

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101222, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  9. logback 配置

    logback 配置 logback的配置方式包括:编程配置.XML文件配置.Groovy文件配置.对于使用log4j的用户,还可以通过logback提供的工具( http://logback.qos ...

  10. logback 详解

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1103685, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

随机推荐

  1. 嵌套矩形——DAG上的动态规划

    有向无环图(DAG,Directed Acyclic Graph)上的动态规划是学习动态规划的基础.非常多问题都能够转化为DAG上的最长路.最短路或路径计数问题. 题目描写叙述: 有n个矩形,每一个矩 ...

  2. Solution to Triangle by Codility

    question: https://codility.com/programmers/lessons/4 we need two parts to prove our solution. on one ...

  3. Eclipse配色利器

    1 http://eclipsecolorthemes.org/  这是官网 2 安装后,window-preferences-general-appearance-color theme 即可找到多 ...

  4. GridControl 二次封装,自定义颜色样式风格

    1.自定义颜色格式,分组,筛选 1.封装类 必须引用类库 using System; using System.Collections.Generic; using System.Linq; usin ...

  5. logstash5安装并实现mariadb数据写入到elasticsearch

    java环境这里默认安装了 ,一般源码安装,这里就不说了 一.安装logstash 安装logstash可以用yum安装,也可以用源码安装: yum安装: 1.导入GPG: rpm --import ...

  6. nginx 根据参数选择文档根目录

    server  {    listen       80;    server_name  testmanage.h5.91wan.com;    index index.html index.htm ...

  7. mapreduce中reduce中的迭代器只能调用一次。其实迭代器就只能调用一次

    亲测,只能调用一次,如果想想在一次reduce重复使用迭代器中的数据,得先取出来放在list中然后在从list中取出来!!多次读取reduce函数中迭代器的数据 public static void ...

  8. linux kernel学习笔记-5内存管理_转

    void * kmalloc(size_t size, gfp_t gfp_mask); kmalloc()第一个参数是要分配的块的大小,第一个参数为分配标志,用于控制kmalloc()的行为. km ...

  9. 【文献阅读】Densely Connected Convolutional Networks-best paper-CVPR-2017

    Densely Connected Convolutional Networks,CVPR-2017-best paper之一(共两篇,另外一篇是apple关于GAN的paper),早在去年八月 De ...

  10. CSU 1663: Tree(树链剖分)

    1663: Tree Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 26  Solved: 11 [Submit][id=1663"> ...