zoukankan      html  css  js  c++  java
  • 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的配置来输出日志

  • 相关阅读:
    利用CSS计数函数counter()实现计数
    弹跳加载动画特效Bouncing loader
    HTML页面中解决内容元素随窗口变化布局变乱问题
    CSS中列表项list样式
    框模型中设置内容区域元素占地尺寸box-sizing属性
    PHP100视频教程-->视频下载
    HTML页面中5种超酷的伪类选择器:hover效果
    HTML中获取input中单选按钮radio数据(性别例子)
    HTML中 DOM操作的Document 对象详解(收藏)
    14、输入一个链表,从尾到头打印链表每个节点的值。
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6704006.html
Copyright © 2011-2022 走看看