LomBok 的相关目录已经整理出来,希望大家可以根据需求自助学习,好工具要大家分享:

@Cleanup

@Getter, @Setter

@ToString

@EqualsAndHashCode

@Constructor

@Data & @Value

@SneakyThrows

@Synchronized

@Getter(lazy=true)

@Log

这是本系列最后一个annotation了,也是Lombok里面最好用的一个了,我们每天写项目都会有很多日志需要记录,很多人都写过这样的代码:

Java代码  
  1. private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);

Lombok的方便不是说说而已的,哪里有重复,哪里就有Lombok(YY的 :) ),Lombok封装了许多主流的Log库,提供了一系列关于Log 的annotation。下面就是所有的annotation会代表哪些特定的类 :

Java代码  
  1. @CommonsLog
  2. Creates private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
  3. @Log
  4. Creates private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());
  5. @Log4j
  6. Creates private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class);
  7. @Log4j2
  8. Creates private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
  9. @Slf4j
  10. Creates private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
  11. @XSlf4j
  12. Creates private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);

就用其中的几个举个例子吧:

Java代码  
  1. import lombok.extern.java.Log;
  2. import lombok.extern.slf4j.Slf4j;
  3. @Log
  4. public class LogExample {
  5. public static void main(String... args) {
  6. log.error("Something's wrong here");
  7. }
  8. }
  9. @Slf4j
  10. public class LogExampleOther {
  11. public static void main(String... args) {
  12. log.error("Something else is wrong here");
  13. }
  14. }
  15. @CommonsLog(topic="CounterLog")
  16. public class LogExampleCategory {
  17. public static void main(String... args) {
  18. log.error("Calling the 'CounterLog' with a message");
  19. }
  20. }

翻译一下,代码如下:

Java代码  
  1. public class LogExample {
  2. private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());
  3. public static void main(String... args) {
  4. log.error("Something's wrong here");
  5. }
  6. }
  7. public class LogExampleOther {
  8. private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExampleOther.class);
  9. public static void main(String... args) {
  10. log.error("Something else is wrong here");
  11. }
  12. }
  13. public class LogExampleCategory {
  14. private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog("CounterLog");
  15. public static void main(String... args) {
  16. log.error("Calling the 'CounterLog' with a message");
  17. }
  18. }

想必不用多说了,例子一看就懂了,唠叨一句就是annotation提供一个topic选项,可以定制化getLog方法的参数。 为什么没提供backlog呢? 一直用backlog啊

Lombok 之 Log相关推荐

  1. 【Lombok】@Log | 如何优雅的进行日志记录

    文章目录 一.简介 二.示例比较 1. Lombok 写法 2. Java 标准写法 三.支持的配置项 四.附属说明 参考文献 一.简介 在lombok v0.10中添加了各种@Log的变体.lomb ...

  2. 【Lombok】Lombok 使用教程大全

    文章目录 一.简介 二.常规功能 三.实验性功能 官网地址 本文章更新与2021年12月,当前lombok版本为1.18.22,后期版本变化可能与本文不同,请大家以官网为准(地址在文末),给您带来不便 ...

  3. SpringBoot+Lombok使用

    一.开发环境准备和新版SpringBoot2.X.X项目创建 https://spring.io/projects/spring-boot 单击Spring Initializr 在线编写:https ...

  4. Lombok注解系列文章总览

    前言:为什么写lombok的注解系列文章? 前段时间,有个前辈帮我调试代码的过程中,他给实体类上加了@Accessors注解后,在new对象的时候,链式写法使得代码即简洁又漂亮.我就好奇地问他,&qu ...

  5. java注解大全_java开发注解大全

    1.最基础注解(spring-context包下的org.springframework.stereotype) 1.1.@Controller @Service @Repository @Confi ...

  6. Java编程技巧之单元测试用例编写流程

    简介: 立足于"如何来编写单元测试用例",让大家"有章可循",快速编写出单元测试用例. 作者 | 常意 来源 | 阿里技术公众号 温馨提示:本文较长,同学们可收 ...

  7. 日志框架:slf4j-log4j12

    slf4j Slf4j的全称是Simple Loging Facade For Java(Java简单日志门面),它仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如 ...

  8. Spring cloud 开发培训

    Spring cloud 开发培训 文章目录 Spring cloud 开发培训 本次培训目的 1. 开发环境 2. 开发工具 3. 常用命令 4. 正式开发前准备工作 5. 微服务创建 6. 开发插 ...

  9. 基于Java+MySQL实现燃气管进销存管理系统【100010498】

    一.系统展示 1.登录页面 2.admin 登录后的主页 3.菜单管理 4.角色管理 > 新增角色 5.用户管理 6.添加商品 7.仓库管理 8.供应商管理 9.采购订单管理 10.采购订单导出 ...

最新文章

  1. 开源 免费 java CMS - FreeCMS1.3-数据对象-mail
  2. 写了 10 年代码之后,我学到的 7 个绝对真理
  3. 培训时常犯的学习误区与应对方法
  4. JSONObject与GSON的一些常用的方法的使用
  5. 在Linux上安装Zookeeper
  6. python创建实例属性_Python学习笔记__6.5章 实例属性和类属性
  7. 切换账号_在iOS 13在如何切换App Store账号
  8. 中位数(Median)
  9. 常见微型计算机外部输入设备,微型计算机常用外部设备
  10. 百望税控服务器管理系统安装,电子发票客户端安装和配置操作说明
  11. Binder机制原理
  12. matlab应力比法,一种考虑隧道围岩应力分布的强度应力比岩爆判据方法与流程
  13. 金融计算器--麦考利久期(Macaulay_Duration)
  14. C语言程序——梅花易数年月日时起卦法
  15. 【前端知识之JS】reduce()方法与使用
  16. git push报错 [remote rejected] HEAD (no new changes) error
  17. 驰骋督查督办系统说明书
  18. java实现地图导航功能吗_Java web实现百度地图导航
  19. rancid+CVS+cvsweb部署
  20. 使用Wordpress搭建个人博客网站

热门文章

  1. 第二十二篇玩转【斗鱼直播APP】系列之弹出房间界面
  2. 离线调用linux命令,GitHub - rinetd/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...
  3. XILINX DMA/Bridge Subsystem for PCI Express (XDMA)笔记1(基于VU250 board)
  4. vue3中进行vuex的分包管理(typescript)
  5. 电影9 10大经典电影
  6. 与男友相爱7年的点滴,让我知道什么是好男人!(ZT)
  7. c++ 输入数字 输出汉语读法(拼音)代码
  8. 神经网络与深度学习:回归问题
  9. 揭秘跨境电商亚马逊测评的培训骗局!千万不要上当受骗!
  10. 面向对象开发期末复习概述(三)