一. 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. Service和Activity交互之广播方式

    一.使用场景如果要通知多个Activity,广播较为适合.但广播较为耗费性能. 二.Broadcast更新Activity中的UI 1.新建一个接口OnUpdateUI,用于回调更新UI public ...

  2. 关于ionic中几个问题

    第一.每个页面的独立样式style标签不能写在ion-view外面,否则会出现路由问题,建议写在ion-content后面,例如下面的例子中,如果style但在ion-view中的话会出想路由问题,显 ...

  3. Phalcon 上下文编码(Contextual Escaping)

    站点及其他B/S应用极易受到 XSS 攻击,虽然PHP提供了转义功能.在某些情况下依旧不够安全.在Phalcon中 Phalcon\Escaper 提供了上下文转义功能,这个模块是由C语言实现的, 这 ...

  4. Oracle 查询用户表信息,导入导出处理表空间不一致

    select table_name,tablespace_name from user_tables t; //查询用户默认表空间信息 SELECT t.* FROM USER_USERS t; 导入 ...

  5. Bestcoders

    Senior's Fish Time Limit: 14000/7000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) T ...

  6. WebLogicSSL解决苹果IOS itms下载问题

    前提: 安装好openssl工具. 通过windows cmd 命令进入 openssl工作文件夹 如解压文件夹为:E:\ openssl-1.0.2-beta1 则工作文件夹为E:\openssl- ...

  7. Atitit.异步编程的发展历史 1.1. TAP & async/await

    Atitit.异步编程的发展历史 1.1. TAP & async/await 1. 异步编程的发展历史1 1.1. Thread1 1.2. Task1 1.3. Async await2 ...

  8. CentOS 源码安装svn

    一. 下载依赖包 1. apr源码包 http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz 2. apr-util源码包 h ...

  9. TCP可靠传输详解

    TCP提供了可靠的传输服务,这是通过下列方式提供的: 分块发送:应用数据被分割成TCP认为最适合发送的数据块.由TCP传递给IP的信息单位称为报文段或段(segment) 定时确认重传:当TCP发出一 ...

  10. 时下世界上最先进的液晶面板技术---ips

    IPS是英文In-Plane Switching的缩写,英文含义为平面转换屏幕技术,由日立公司于2001推出的液晶面板技术,俗称“Super TFT”,是目前世界上最先进的液晶面板技术,目前已经广泛使 ...