logback 簡介

logback意在接任log4j,由log4j創始人設計。


hello world

 需要slf4j-api.jar    logback-core.jar    logback-classic.jar

package chapters.introduction;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld1 {

  public static void main(String[] args) {

    Logger logger = LoggerFactory.getLogger("chapters.introduction.HelloWorld1");
    logger.debug("Hello world.");

  }
}

變量logger指向類LoggerFactory調用靜態方法getLogger返回的一個Logger實例。這個logger被命名爲"chapters.introduction.HelloWorld1"。main函數調用了logger的debug方法,以"Hello World" 爲參數。我們通常說, main函數包含了一條持有消息"Hello World" 的DEBUG級別的logging statement。

由於使用默認設置,所以logback添加ConsoleAppender至root logger,輸出如下。

20:49:07.962 [main] DEBUG chapters.introduction.HelloWorld1 - Hello world.

logback可以使用內置的status系統來報告其內部的state,logback生命週期中發生的重要事件,可以通過StatusManager組件訪問。


package chapters.introduction;

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);
  }
}
輸出

12:49:22.203 [main] DEBUG chapters.introduction.HelloWorld2 - Hello world.
12:49:22,076 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
12:49:22,078 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
12:49:22,093 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
12:49:22,093 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.
意思是,未能發現 logback-test.xml 和 logback.xml配置文件,logback將使用默認配置,即一個基礎的 ConsoleAppender。Appender是一個可以被看作輸出目的地的類,可以是console, files, Syslog, TCP Sockets, JMS 等,用戶還可以根據具體情況創建自己的Appenders。

注意,errors時,logback會自動將內部state打印在consle。


開啓日誌的3個必要步驟:

1,配置logback環境

2,在每個你要記錄日誌的類中,通過org.slf4j.LoggerFactory 的getLogger()取得一個Logger實例,將類名或類本身當作參數傳入。

3,使用logger實例的打印方法,即debug(), info(), warn() and error() ,這會將日誌記錄輸出至配置好的appenders中。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值