博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Logback使用
阅读量:6962 次
发布时间:2019-06-27

本文共 3932 字,大约阅读时间需要 13 分钟。

OK,现在让我们开始logback吧。关于logback的使用,网上的资料良莠不齐,权威一点的材料比如书我是没有找到。所以只好去官网上看文档,本人英语一般,所以只能一边翻译,一边研究。这里来整理一份相对比较详细的博客。

  • logback概述

LogBack是由log4j的创始人开发的一个日志组件,用于替代log4j。LogBack的架构设计足够通用,可适用于不同的环境,目前LogBack分为三个模:lobback-core,logback-classic和logback-access。

core模块是其它两个模块的基础,classic是core的扩展,是log4j巨大改进的版本。LogBack-classic本身实现了SL4J的API,因此可以很容易的在logback与其它日志系统之间转换,例如log4j、JDK1.4中的java.util.logging(JUL)。第三个模块access,它集成了

Servlet容器,提供了通过HTTP访问日志的功能。

LogBack的日志级别有TRACE < DEBUG < INFO <  WARN < ERROR。和log4j类似,日志级别依次升高,高级别的日志等级将屏蔽低级别的日志等级。

注意:

在项目中使用logback,我们需要一些依赖包,关于logback的初始化,要加载slf4j的包。其实我在这里只想单纯的研究下logback,但是官网上给的例子也都是用slf4j来初始化的,实际编码中这2者一般都是放在一起的。

所以我们这里也就将这几个包放一起研究好了。现在我们开始:

  • logback使用

首先项目中添加logback的相关jar包。pom文件如下:

4.0.0
org.linkinpark.commons
linkin-log-test
0.0.1-SNAPSHOT
jar
linkin-log-test
http://maven.apache.org
UTF-8
org.slf4j
slf4j-api
1.7.12
ch.qos.logback
logback-classic
1.1.2
ch.qos.logback
logback-core
1.1.2
junit
junit
4.12
test

现在来看下项目的目录结构:

OK,现在我们暂时不添加任何项目配置文件,直接写一些业务代码来输出日志看下效果。

下面是我们写的Java测试代码:

package org.linkinpark.commons.logbackLogging;import org.junit.Test;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class LoggingBack{	private static Logger logger = LoggerFactory.getLogger(LoggingBack.class);	@Test	public void test()	{		logger.debug("debug()。。。");		logger.info("info()。。。");		logger.error("error()。。。");	}}
执行上面的测试,junit绿条,然后控制台输出如下:

15:41:47.516 [main] DEBUG o.l.c.logbackLogging.LoggingBack - debug()。。。15:41:47.519 [main] INFO  o.l.c.logbackLogging.LoggingBack - info()。。。15:41:47.520 [main] ERROR o.l.c.logbackLogging.LoggingBack - error()。。。

logback加载配置文件顺序:

=========================================================================================================================================================================================
下面贴出logback加载文件的顺序:
  1. Logback tries to find a file called logback.groovy .

  2. If no such file is found, logback tries to find a file called logback-test.xml .

  3. If no such file is found, it checks for the file logback.xml ..

  4. If no such file is found, and the executing JVM has the  (JDK 6 and above) the ServiceLoader will be used to resolve an implementation of . The first implementation found will be used. See .

  5. If none of the above succeeds, logback configures itself automatically using the  which will cause logging output to be directed to the console.

=========================================================================================================================================================================================
实际编码中,我们一般都是添加logback.xml文件到项目中,这里我先举一个使用配置文件的例子。具体的详细的我会在后面专门一篇博客中整理。
其他代码不动,我们现在添加到logback.xml到我们的项目中,然后看下控制台输出。配置文件代码如下:
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
运行我们的测试,控制台输出如下:
19:57:27.361 [main] INFO  o.l.c.logbackLogging.LoggingBack - info()。。。19:57:27.363 [main] ERROR o.l.c.logbackLogging.LoggingBack - error()。。。
上面的测试代码输出3行不同级别的日志,现在配置文件生效了info级别以上的日志输出,说明我们的配置生效了。值得注意的是:这里的日志配置文件必须是logback.xml的文件,别的名字不行的,官网上的例子都是不同的名字,我晕。
OK,这篇就先到这里,下一篇我整理一下关于logback配置文件的详解logback就整理完了。关于用法和源码就不做多的研究了,整理完logback和slf4j之后,做一个所有的日志对比和对比,就结束日志相关了,也耽误不少时间了。

转载于:https://www.cnblogs.com/LinkinPark/p/5232832.html

你可能感兴趣的文章
NYOJ 16 矩形嵌套(动态规划)
查看>>
eclipse导入tomcat 8.0x源码
查看>>
shell脚本——爬取域名一级页面元素并判断其可缓存性
查看>>
Linux平台下代理服务器的实现(squid)
查看>>
简单的tab切换
查看>>
yii中文显示
查看>>
四层和七层负载均衡
查看>>
2016清单
查看>>
从一个多层嵌套循环中直接跳出(先想想自己代码设计的是否合理)
查看>>
linux升级内核
查看>>
安卓仿微信右上角弹出菜单窗口
查看>>
PVS让存储颤抖,系列博文之三:PVS的写缓存新技术之Win7桌面实测篇
查看>>
Java控制车速
查看>>
传入含中文的字符串 返回中文首字母
查看>>
thinkphp5 下 Linux 定时任务
查看>>
IOS 动画组
查看>>
数据库模型设计——关系的实现,主键的设计
查看>>
webistrano的安装方法和一些用法
查看>>
Memcache集群高可用方案
查看>>
mysql数据据存储引擎InnoDB和MyISAM的优势及区别
查看>>