slf4j使用(二)
一、典型使用模式
从上一篇介绍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使用(二)相关推荐
- slf4j与logback的结合使用
参考:http://my.oschina.net/ydsakyclguozi/blog/412240 一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logbac ...
- 18.案例实战:体验lombok的核心@Data和@Slf4j注解
代码:https://github.com/NIGHTFIGHTING/spring_boot_learning/tree/master/18/agan-boot/agan-boot-lombok 添 ...
- SpringBoot+logback实现日志打印
SpringBoot+logback 一.日志简介 1.SLF4J介绍 二.SpringBoot集成logback 1.配置文件详解 1.彩色日志 2.appender 3.root和logger详解 ...
- SLF4J 的几种实际应用模式--之二:SLF4J+Logback
前面讲的 SLF4J 的用法之一是 SLF4J+Log4J,而这里要推出的组合是 SLF4J+LogBack.不用 Log4J?难道还有比 Log4J 更好的日志实现吗?是的,答案就是 LogBack ...
- 2021年大数据HBase(二):HBase集群安装操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase集群安装操作 一.上传解压HBase安装包 ...
- slf4j导入那个依赖_学习SPRINGBOOT结合日志门面SLF4J和日志实现LOGBACK的混合使用
一.此处主要介绍在springboot工程下如何使用 logback + slf4j 进行日志记录. logback主要包含三个组成部分:Loggers(日志记录器).Appenders(输出目的在) ...
- Slf4j 包老冲突,每次排查半天,是什么原因?怎么解决?
点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 一.前言 在进行 Java 开发时,通常我们会选择 Slf4 ...
- [转载]java日志框架log4j详细配置及与slf4j联合使用教程
一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到"build path" 1 2 3 4 5 &l ...
- hadoop之MapReduce自定义二次排序流程实例详解
一.概述 MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的.在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求 ...
最新文章
- 情商(实践版本,丹尼尔.戈尔曼)---阅读记录
- CoordinatorLayout中AppBarLayout的折叠仅依靠滑动RecyclerView实现
- Swift - 自定义UIActivity分享
- Linux基础学习九:Mysql读写分离原理以及详细搭建步骤
- C#开发微信门户及应用(32)--微信支付接入和API封装使用
- Javascript面向对象编程(一):对象的产生
- 李向阳教授谈中科大AI承继与挑战,IT校友影响力惊人
- L1-043 阅览室-PAT团体程序设计天梯赛GPLT
- JAVA操作串口有感
- Controller之间传递数据:协议传值
- 正交法设计测试用例时可以使用的工具allpairs---生成正交表
- hprose for java 教程_Hprose for Java 快速入门
- android webp格式的图片,Android使用webp格式图片的步骤
- 网易2017实习生招聘面试经历
- 安卓手机管理软件_留言帮忙找:手机清理软件合集 Android
- 极限测试4 - 系统能创建的最大tcp连接数
- Python基础 PyCharm如何新建项目
- 查询选修了95002选修的全部课程的学生学号。
- [dEw] 简单文件系统设计笔记
- 如何查看PHP得版本?
热门文章
- 局域网远程维护工具DAMEWARE NT 需要开通IPC和ADMIN通道
- day08面向对象+
- aehyok.com的成长之路一——开篇
- CppUnit源代码分析总结
- LeetCode 289. 生命游戏
- 宝典计算机网络部分,计算机网络复习相关知识点宝典
- 黑苹果白果序列号_黑苹果从入门到放弃黑苹果:OC配置入门
- hello python jpush_Python人脸识别 + 手机推送,老板来了你就会收到短信提示
- html text align属性,CSS中的text-align属性怎么用
- python matlibplot_python matlibplot绘制3D图形