LogBack学习记录(一)概要介绍
2013-10-08 16:26
381 查看
logback的优点:
速度更快,体积更小,配置文件修改后可以自动重新加载,而不用重新启动应用,log4j向logback移植很容易,还有其他的一些优点,具体可以参见文章:http://www.oschina.net/translate/reasons-to-prefer-logbak-over-log4j。
maven 集成logback:
在maven中集成logback非常容易,在pom文件中添加如下内容即可:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.13</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
logback支持slf4j的接口,为了便于以后更换日志实现方式,在程序里面通过slf4j接口进行调用。
程序中如下调用:
Logger logger = LoggerFactory.getLogger(HelloWorld.class);
logger.debug("Hello world.");
在控制台将输出如下内容:
10:26:02.291 [main] DEBUG c.w.s.STLogBack.chapt1.HelloWorld - Hello world.
在这个例子中没有对logback进行配置,因此logback将采用的默认的方式进行日志输出,即在控制台中进行日志输出,可通过如下代码查看logback加载配置文件的过程:
//输出logback的内部加载配置文件的过程
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
StatusPrinter.print(lc);
上述代码运行后将输出如下内容:
10:26:02,193 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
10:26:02,194 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
10:26:02,194 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
10:26:02,197 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.
可见,logback的配置文件加载顺序为logback.groovy》》logback-test.xml》》logback.xml,如果上述文件都没有,则采用默认的日志输出方式(将debug级别以上的在控制台中进行输出),需要注意的是,logback-test.xml优先于logback.xml的方式将非常有利于系统进行测试。
本章代码参见chapt1部分。
相关示例代码地址:http://git.oschina.net/wangjian/STLogBack.git。 git下载后,直接eclipse导入即可运行
速度更快,体积更小,配置文件修改后可以自动重新加载,而不用重新启动应用,log4j向logback移植很容易,还有其他的一些优点,具体可以参见文章:http://www.oschina.net/translate/reasons-to-prefer-logbak-over-log4j。
maven 集成logback:
在maven中集成logback非常容易,在pom文件中添加如下内容即可:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.13</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
logback支持slf4j的接口,为了便于以后更换日志实现方式,在程序里面通过slf4j接口进行调用。
程序中如下调用:
Logger logger = LoggerFactory.getLogger(HelloWorld.class);
logger.debug("Hello world.");
在控制台将输出如下内容:
10:26:02.291 [main] DEBUG c.w.s.STLogBack.chapt1.HelloWorld - Hello world.
在这个例子中没有对logback进行配置,因此logback将采用的默认的方式进行日志输出,即在控制台中进行日志输出,可通过如下代码查看logback加载配置文件的过程:
//输出logback的内部加载配置文件的过程
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
StatusPrinter.print(lc);
上述代码运行后将输出如下内容:
10:26:02,193 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
10:26:02,194 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
10:26:02,194 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
10:26:02,197 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.
可见,logback的配置文件加载顺序为logback.groovy》》logback-test.xml》》logback.xml,如果上述文件都没有,则采用默认的日志输出方式(将debug级别以上的在控制台中进行输出),需要注意的是,logback-test.xml优先于logback.xml的方式将非常有利于系统进行测试。
本章代码参见chapt1部分。
相关示例代码地址:http://git.oschina.net/wangjian/STLogBack.git。 git下载后,直接eclipse导入即可运行
相关文章推荐
- 对应猎豹网校的lua 视频教程 做的学习记录 前三课简单介绍1-3
- Android硬件抽象层(HAL)概要介绍和学习计划
- Android硬件抽象层(HAL)概要介绍和学习计划
- 在A20上演示老罗的Android硬件抽象层(HAL)概要介绍和学习计划1
- Android硬件抽象层(HAL)概要介绍和学习计划
- Qt学习记录--01 Qt的model/view架构介绍
- HAL(0) -- 学习HAL前的概要介绍和学习计划
- Linux学习记录--shell介绍
- Android硬件抽象层(HAL)概要介绍和学习计划
- Android硬件抽象层(HAL)概要介绍和学习计划
- PowerDesigner学习--概念数据模型CDM概要介绍
- 在A20上演示老罗的Android硬件抽象层(HAL)概要介绍和学习计划2--关于kernel部分
- Android硬件抽象层(HAL)概要介绍和学习计划
- Android硬件抽象层(HAL)概要介绍和学习计划
- Linux学习记录--shell介绍
- easyUI学习记录(二)- Parser&&Panel介绍
- [转]PowerDesigner学习--概要介绍
- LogBack学习记录(四)appender(输出源)的使用
- 在别的地方看的<<给程序员介绍一些C++开源库>>,记录给大家共同学习
- 系列文章: Android硬件抽象层(HAL)概要介绍和学习计划