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

时间: 2024-10-08 20:50:22

Logback手册 Chapter 1: Introduction的相关文章

JVM Specification 9th Edition (2) Chapter 1. Introduction

Chapter 1. Introduction 翻译太累了,我就这样的看英文吧. 内容列表 1.1. A Bit of History 1.2. The Java Virtual Machine 1.3. Organization of the Specification 1.4. Notation 1.5. Feedback 1.1. A Bit of History The Java? programming language is a general-purpose, concurrent

CHAPTER 1 Introduction to database (第一章 数据库简介)

Chaper  Objectives  (章节目标) In this chapter you will learn:   (在这一章节中,你将学习) 1. Some common uses of database systems.   (数据库系统的一些普通扩法) 2.The characteristics of file-based systems. (基于文件系统的一些特点.) 3. The problems with the file-based systems.  (基于文件系统拥有的一

TIJ英文原版书籍阅读之旅——Chapter One:Introduction to Objects

///:~容我对这个系列美其名曰“读书笔记”,其实shi在练习英文哈:-) Introduction to Objects Object-oriented programming(OOP) is part of this movement toward using the computer as an expressive medium. This chapter will introduce you to the basic concepts of OOP, including an over

[stm32参考手册] 1、Introduction

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xxand STM32F107xx advanced ARM-based 32-bit MCUs 本资料覆盖范围: 这本资料提供完整的关于上述系列STM单片机的存储器和外设的使用方法.在整个文档中(除非特别说明)是把这几类单片机归于STM32F10XXX系列的. 注:STM32F10XXX是一个包含的各种不同存储器尺寸,不同封装和不同外设的微处理器家族. 其他相关资料引导: 关于订货编号.电气和物理性

Chapter 3 Introduction to Objects and Input/Output

与声明一个primitive variable不同,声明一个对象的时候,并不创建用来存储一个对象的内存空间,而是创建了一个存储该对象所在内存空间的地址. 在java里,new是一个操作符,它让系统分配一个特定类型的存储空间,并返回该内存空间的地址. String str: str = “Java Programing”; 和 String str = new String("Java Programing"); 是有区别的,前者是把已经存在的“Java Programming”的存储地

【Gradle教程】Chapter 1. Introduction

        使用AndroidStudio开发Android也有一段时间了,AndroidStudio使用的构建工具还没怎么去学习过,有问题基本上是Google和百度解决,今天突然想好好的去了解gradle,所以先去官网看看官方文档,随便翻译一下,加深理解! We would like to introduce Gradle to you, a build system that we think is a quantum leap for build technology in the J

MongoDB:The Definitive Guide CHAPTER 1 Introduction

MongoDB is a powerful, flexible, and scalable data store. It combines the ability to scale out with many of the most useful features of relational databases, such as secondary indexes, range queries, and sorting. MongoDB is also incredibly featureful

Chapter 1:Introduction

作者:桂. 时间:2017-05-24  08:06:45 主要是<Speech enhancement: theory and practice>的读书笔记,全部内容可以点击这里. 1.语音增强(speech enhancement)主要从攻/防两面入手:quality + intelligibility,quality希望噪声尽可能抑制; intelligibility希望语音信号失真不严重,很多算法只从quality角度去分析问题. 2.语音增强的影响因素很多: 应用场景 比如空旷的原野

Chapter 15 Introduction to Auto Layout

1. You do not define a view’s alignment rectangle directly. You do not have enough information (screen size!)to do that. Instead, you provide a set of constraints. Taken together, these constraints allow the system to determine the layout attributes,