一、典型使用模式

  从上一篇介绍slf4j的文章中我们知道,使用slf4j,只需使用slf4j-api包里的接口。下面代码演示了它的经典使用模式:

 1: import org.slf4j.Logger;2: import org.slf4j.LoggerFactory;3: 4: public class Wombat {5: 6:   final Logger logger = LoggerFactory.getLogger(Wombat.class);7:   Integer t;8:   Integer oldT;9:
10:   public void setTemperature(Integer temperature) {
11:
12:     oldT = t;
13:     t = temperature;
14:
15:     logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
16:
17:     if(temperature.intValue() > 50) {
18:       logger.info("Temperature has risen above 50 degrees.");
19:     }
20:   }
21: } 

说明:(1)第六行声明的Logger,表示Logger是类的实例成员。另一种惯常的用法是加上static,使它变为类的静态成员,如:

    final static Logger logger=LoggerFactory.getLogger(Wombat.calss);

    是使用实例成员,还是静态成员,这个由用户自己做决定,两种方式各有其优缺点。

    (2)第15行使用了参数化的日志消息,我们推荐使用这种方法,因为在这类方法里都加了一个判断,如上例就加了logger.isDebugEnabled()判断,这样如果debug消息级别没有启用,那么就不会去根据消息参数去构造一个实际的消息,这样可以提供日志的效率。

  当然如果不使用参数化日志消息,而是自己操作字符串拼接消息的话,为了提高效率,一种比较笨的方法就是在debug消息之前,自己也加上isDebugEnabled()判断,如上例可以改成:

if(logger.isDebugEnabled())logger.debug("Temperature set to " + t + ". Old temperature was " + oldT + ".");

  

转载于:https://www.cnblogs.com/winson/p/3726081.html

slf4j使用(二)相关推荐

  1. slf4j与logback的结合使用

    参考:http://my.oschina.net/ydsakyclguozi/blog/412240 一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logbac ...

  2. 18.案例实战:体验lombok的核心@Data和@Slf4j注解

    代码:https://github.com/NIGHTFIGHTING/spring_boot_learning/tree/master/18/agan-boot/agan-boot-lombok 添 ...

  3. SpringBoot+logback实现日志打印

    SpringBoot+logback 一.日志简介 1.SLF4J介绍 二.SpringBoot集成logback 1.配置文件详解 1.彩色日志 2.appender 3.root和logger详解 ...

  4. SLF4J 的几种实际应用模式--之二:SLF4J+Logback

    前面讲的 SLF4J 的用法之一是 SLF4J+Log4J,而这里要推出的组合是 SLF4J+LogBack.不用 Log4J?难道还有比 Log4J 更好的日志实现吗?是的,答案就是 LogBack ...

  5. 2021年大数据HBase(二):HBase集群安装操作

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase集群安装操作 一.上传解压HBase安装包 ...

  6. slf4j导入那个依赖_学习SPRINGBOOT结合日志门面SLF4J和日志实现LOGBACK的混合使用

    一.此处主要介绍在springboot工程下如何使用 logback + slf4j 进行日志记录. logback主要包含三个组成部分:Loggers(日志记录器).Appenders(输出目的在) ...

  7. Slf4j 包老冲突,每次排查半天,是什么原因?怎么解决?

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 一.前言 在进行 Java 开发时,通常我们会选择 Slf4 ...

  8. [转载]java日志框架log4j详细配置及与slf4j联合使用教程

    一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到"build path" 1 2 3 4 5 &l ...

  9. hadoop之MapReduce自定义二次排序流程实例详解

    一.概述 MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的.在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求 ...

最新文章

  1. 情商(实践版本,丹尼尔.戈尔曼)---阅读记录
  2. CoordinatorLayout中AppBarLayout的折叠仅依靠滑动RecyclerView实现
  3. Swift - 自定义UIActivity分享
  4. Linux基础学习九:Mysql读写分离原理以及详细搭建步骤
  5. C#开发微信门户及应用(32)--微信支付接入和API封装使用
  6. Javascript面向对象编程(一):对象的产生
  7. 李向阳教授谈中科大AI承继与挑战,IT校友影响力惊人
  8. L1-043 阅览室-PAT团体程序设计天梯赛GPLT
  9. JAVA操作串口有感
  10. Controller之间传递数据:协议传值
  11. 正交法设计测试用例时可以使用的工具allpairs---生成正交表
  12. hprose for java 教程_Hprose for Java 快速入门
  13. android webp格式的图片,Android使用webp格式图片的步骤
  14. 网易2017实习生招聘面试经历
  15. 安卓手机管理软件_留言帮忙找:手机清理软件合集 Android
  16. 极限测试4 - 系统能创建的最大tcp连接数
  17. Python基础 PyCharm如何新建项目
  18. 查询选修了95002选修的全部课程的学生学号。
  19. [dEw] 简单文件系统设计笔记
  20. 如何查看PHP得版本?

热门文章

  1. 局域网远程维护工具DAMEWARE NT 需要开通IPC和ADMIN通道
  2. day08面向对象+
  3. aehyok.com的成长之路一——开篇
  4. CppUnit源代码分析总结
  5. LeetCode 289. 生命游戏
  6. 宝典计算机网络部分,计算机网络复习相关知识点宝典
  7. 黑苹果白果序列号_黑苹果从入门到放弃黑苹果:OC配置入门
  8. hello python jpush_Python人脸识别 + 手机推送,老板来了你就会收到短信提示
  9. html text align属性,CSS中的text-align属性怎么用
  10. python matlibplot_python matlibplot绘制3D图形