logback 簡介
2015-12-16 17:15
267 查看
logback意在接任log4j,由log4j創始人設計。
hello world
需要slf4j-api.jar logback-core.jar logback-classic.jar
變量logger指向類LoggerFactory調用靜態方法getLogger返回的一個Logger實例。這個logger被命名爲"chapters.introduction.HelloWorld1"。main函數調用了logger的debug方法,以"Hello World" 爲參數。我們通常說,main函數包含了一條持有消息"Hello World" 的DEBUG級別的logging statement。
由於使用默認設置,所以logback添加ConsoleAppender至root logger,輸出如下。
logback可以使用內置的status系統來報告其內部的state,logback生命週期中發生的重要事件,可以通過StatusManager組件訪問。
注意,errors時,logback會自動將內部state打印在consle。
開啓日誌的3個必要步驟:
1,配置logback環境
2,在每個你要記錄日誌的類中,通過org.slf4j.LoggerFactory 的getLogger()取得一個Logger實例,將類名或類本身當作參數傳入。
3,使用logger實例的打印方法,即debug(), info(), warn() and error() ,這會將日誌記錄輸出至配置好的appenders中。
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中。
相关文章推荐
- 你不得不读的书籍清单
- word导出功能
- Error: Failed to create feature class. Table already registered
- UICollectionView详解
- Android Studio ADB not responding.//adb.exe程序启动不起来,如何处理
- Xcode-快捷键大全
- 集成乐视点播功能的注意事项
- AngularJS学习笔记
- php-fpm进程数优化
- SVN的安装使用
- 容易产生错觉的属性(文字,内容模式,内容对齐方式)
- table重用机制
- activity界面架构即activity视图层结构
- Java与数据库数据类型对应表
- hibernate第三天——session的缓存与事务隔离级别,一对一关系,多种方式查询
- windows下FTP服务器的搭建之工具Home Ftp Server
- AndroidManifest中android:persistent属性研究
- Python下MySQL数据库操作
- Serializable的好处
- 细节错误