Logback手冊 Chapter 1: Introduction
翻译不周,多多包括
---------------------------------------------------------------------------------------切割线--------------------------------------------------------------------
Logback是继承自流行的log4j项目。
作者经验丰富。作为积累了十年日志系统设计的经验的结晶。Logback既快又比现有的日志系统短小精悍。
更夸张的说,LogBack提供了其它系统所不具有的独特又有用的特点。
Logback的三个包
slf4j-api.jar
logback-core.jar
logback-classic.jar
先举个栗子:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory; public class HelloWorld1 { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(HelloWorld1.class);
logger.debug("Hello world."); }
}
21:38:46.328 [main] DEBUG chapter1.HelloWorld1 - Hello world.
上一个样例里。名为HelloWorld的logger,主函数调用logger的debug方法,记录了“hello World ”的信息。我们说这个主函数包括了一条DEBUG等级的日志输出。
这里你须要知道的是,根据LogBack的的默认策略,假设没有手动配置,LogBack将会对根logger加入一个所谓的ConsoleAppender,因此我们的程序将日志打印在了控制台。
---------------
Logback能够通过内置的状态系统来报告她的内部状态信息。这个是通过调用StatusPrinter的print方法来输出,我们直接过栗子:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.core.util.StatusPrinter; public class HelloWorld2 { public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger("chapters.introduction.HelloWorld2");
logger.debug("Hello world."); // print internal state
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
StatusPrinter.print(lc);
}
}
控制台输出结果:
22:34:56.229 [main] DEBUG chapters.introduction.HelloWorld2 - Hello world.
22:34:56,195 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
22:34:56,195 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
22:34:56,195 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
22:34:56,196 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.
因为缺失logback的配置文件logback-test.xml和lockback.xml(我会在接下来的章节中讨论),她採用了默认策略。也就是几个基础的ConsoleAppender。
Appender是一个决定日志输出目的类,它包含控制台、文件,系统日志。TCPSocket。JMS等等。
我们能够依据自己的情况来创建我们自己的Appender
提示一点:假设遇到错误(errors)Logbcak会自己主动的在控制台打印他的内部状态
总之,在程序使用日志分三步
1配置logback环境
2在每一个你想输出日志的类里。通过LoggerFactory的getLogger方法来生成一个Logger实例。用当前的类名,或者直接是这个类当做參数
3调用logger实例的方法来完毕日志输出。比方debug()。info(),warn()以及error(),她会依据Appender的配置来输出日志
Logback手冊 Chapter 1: Introduction的更多相关文章
- 【NS2】NS2 教學手冊(转载)
之前做毕设的时候搜索NS2的相关资料,发现这个里面涵盖很广,特此收藏,感谢原作者的辛勤劳作. NS2 教學手冊 ( NS2 Learning Guide) [快速連結區] My works 中文影音 ...
- PRML Chapter 1. Introduction
PRML Chapter 1. Introduction 为了防止忘记,要把每章的重要内容都记下来,从第一章开始 2012@3@28 今天又回去稍微翻了一下第一章内容,发现第一次看的时候没有看透,每次 ...
- 包管理器Bower使用手冊之中的一个
包管理器Bower使用手冊之中的一个 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.Bower介绍 Bower是一个适合Web应用的包管理器,它擅长 ...
- Apache Shiro 使用手冊 链接文件夹整理
1.Apache Shiro 使用手冊(一)Shiro架构介绍 2.Apache Shiro 使用手冊(二)Shiro 认证 3.Apache Shiro 使用手冊(三)Shiro 授权 4.Apac ...
- Apache Mina开发手冊之四
Apache Mina开发手冊之四 作者:chszs,转载需注明. 博客主页:http://blog.csdn.net/chszs 一.Mina开发的主要步骤 1.创建一个实现了IoService接口 ...
- 平实给力的写作指导入门手冊——leo鉴书57
写作是个体力活儿,须要不断的练习和砥砺.既然是体力劳动,那必定有套路,前人总结.后人学习并加以积累沉积,日久则形成不同的风格和流派有点儿像.相同,写作也有自己的套路和学习路径.初涉写作有必备之书吗?当 ...
- HapiJS开发手冊
HapiJS开发手冊 作者:chszs.转载需注明.博客主页:http://blog.csdn.net/chszs 一.HapiJS介绍 HapiJS是一个开源的.基于Node.js的应用框架,它适用 ...
- ANTLR4权威參考手冊(一)
写在前面的话: 此文档是对伟大的Terence Parr的著作<the definitive antlr4 reference>的翻译本.致敬!欢迎转载,请注明原地址,请尊重劳动成果.翻译 ...
- Node.js v0.10.31API手冊-控制台
Node.js v0.10.31API手冊-文件夹 控制台 Object 用于向 stdout 和 stderr 打印字符.类似于大部分 Web 浏览器提供的 console 对象函数,在这里则是输出 ...
随机推荐
- 通过配置Apache实现404页面替换
一.通用情况--修改apache配置.htaccess 一般网站报404原因都是找不到资源,是服务器(以Apache为例)报错,Apache自定义了404输出,我们的目的是使用自定义的404.html ...
- C-从源文件到可执行文件的详细编译链接过程
一直用windows一键搞定, 没有去了解详细的编译链接过程, 今天看了一篇文章, 顺便实验和记录在Linux下逐步生成的步骤. 预处理: 执行#include, #define, #if, #ifd ...
- Swift3.0生成二维码、扫描二维码、相册读取二维码,兼容iOS7(结合ZXingObjC)
二维码生成 //MARK: 传进去字符串,生成二维码图片(>=iOS7) text:要生成的二维码内容 WH:二维码高宽 private func creatQRCodeImage(text: ...
- jquerymobile 的特有 事件 和 方法 (转)
1.触摸屏事件—— Touch events tap Triggers after a quick, complete touch event. 本人实际测试效果:轻轻点击,效果和按普通按钮差不多. ...
- Android开发之模仿UC浏览器的菜单
这个内容内容涉及到的了两个知识点: PopupWindow:使用PopupWindow创建一个简单的菜单 使用TabHost创建标签:这个网上好多教程随便看看就好. 实现思路: 观察一下UC浏览器的菜 ...
- Linux命令-终止进程命令:kill
kill -l 查看进程信号 常用信号 例如: 例子参见:Linux命令-查看进程命令:pstree
- jenkins 批量修改配置文件
jenkins 批量修改配置文件 jenkin job 修改配置 修改前配置 <runPostStepsIfResult> <name>FAILURE</name&g ...
- java中异常和集合
1. java中处理错误情况有两种,1 Error,2 Exception error是无法处理的,Exception是可以处理的情况. Exception中又有两种情况,RuntimeExcep ...
- ubuntu14中创建python虚拟环境
一.安装python-virtualenv包 sudo apt-get install python-virtualenv 安装完成后,创建一个虚拟环境文件夹. mkdir VENVcd VENV 创 ...
- Java:HttpClient篇,Cookie概述,及其在HttpClient4.2中的应用
1. Cookie 概述 Cookie是什么? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.Cookie 包含每次用户访问站点时 Web 应用程序都可以读取 ...