`
朱秋旭
  • 浏览: 230815 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lombok 之 Log

阅读更多

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

@Cleanup     

@Getter, @Setter

@ToString

@EqualsAndHashCode

@Constructor

@Data & @Value

@SneakyThrows

@Synchronized

@Getter(lazy=true)

@Log

 

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

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会代表哪些特定的类 :

 

@CommonsLog
Creates private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
@Log
Creates private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());
@Log4j
Creates private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class);
@Log4j2
Creates private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
@Slf4j
Creates private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
@XSlf4j
Creates private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);

 

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

 import lombok.extern.java.Log;
 import lombok.extern.slf4j.Slf4j;
 
 @Log
 public class LogExample {
   
   public static void main(String... args) {
     log.error("Something's wrong here");
   }
 }
 
 @Slf4j
 public class LogExampleOther {
   
   public static void main(String... args) {
     log.error("Something else is wrong here");
   }
 }
 
 @CommonsLog(topic="CounterLog")
 public class LogExampleCategory {
 
   public static void main(String... args) {
     log.error("Calling the 'CounterLog' with a message");
   }
 }

 

翻译一下,代码如下:

public class LogExample {
  private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());
  
  public static void main(String... args) {
    log.error("Something's wrong here");
  }
}

public class LogExampleOther {
  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExampleOther.class);
  
  public static void main(String... args) {
    log.error("Something else is wrong here");
  }
}

public class LogExampleCategory {
  private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog("CounterLog");

  public static void main(String... args) {
    log.error("Calling the 'CounterLog' with a message");
  }
}

 

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

分享到:
评论

相关推荐

    springboot3.2.4+lombok+log4j2+swagger集成demo

    初学者的福音,最近一直在折腾springboot版本的问题,发现在集成三方库时v2和v3版本完全不兼容。平滑升级相当困难,在用springboot3做新项目时也遇到了很多官方文档不详细的原因,所以特整理了一个干净版本的开发...

    lombok.jar;lombok.jar

    7. **@Log**系列注解:如`@Log4j`、`@Logback`或`@SLF4J`,会在类上添加日志记录器,方便日志记录。 ### 使用Lombok 要在项目中使用Lombok,你需要在构建工具(如Maven或Gradle)的配置文件中添加依赖。对于Maven...

    Lombok安装及使用

    8. **@Log4j / @Log / @SLF4J**:为类添加日志记录器,例如`@Log4j`将添加一个名为`log`的日志变量,支持Log4j。 9. **@Singular**:当与`@Builder`或`@Data`等注解一起使用时,可以处理集合类型的属性,如`List...

    lombok 1.18.24

    为了获取更多信息,可以查阅官方的发布说明或 changelog 文件。 6. **最佳实践** - 在 DTO、POJO 类型上谨慎使用 Lombok,避免在业务逻辑复杂的类上滥用。 - 使用 `@Builder` 注解来创建构建者模式,方便构建复杂...

    lombok-jar包.zip

    8. `@Log`系列:如`@Log4j`、`@Logback`、`@SLF4J`等,会为类生成日志记录器字段,便于进行日志输出。 集成Lombok到项目中,你需要在IDE(如IntelliJ IDEA或Eclipse)中安装对应的插件,并在项目的build.gradle或...

    lombok-pluginDK-0.29-2019.2.zip

    - `@Log`(通常为 `@Log4j`, `@Log4j2`, `@Logger`, 等):引入日志记录器,简化日志输出。 使用 Lombok 可以极大地减少样板代码,提高开发效率,同时保持代码的整洁。然而,需要注意的是,Lombok 需要在编译时处理...

    lombok_lombok.zip

    10. `@Log`(`@Log4j`、`@Log4j2`、`@Logback` 等):根据所选的日志库,自动引入对应的日志变量,简化日志记录。 为了使用 Lombok,你需要在项目中添加 Lombok 的依赖,并在 IDE 中安装 Lombok 插件。对于 Maven ...

    idea lombok插件

    1. `@Data`: 这是Lombok最常用的注解之一,它会为类的所有非静态、非final字段生成getter和setter,同时还会生成`equals()`, `hashCode()`以及`toString()`方法。 2. `@NoArgsConstructor`: 生成一个没有参数的构造...

    eclipse整合lombok文档

    Eclipse 整合 Lombok 文档 Lombok 是一个 Java 库,用于减少 Java 代码中的 boilerplate 代码。它可以自动为 Java 类...* @Log4j:log4j 日志声明 通过使用 Lombok,可以大大简化 Java 代码的编写,提高开发效率。

    lombok详细使用文档

    ### Lombok 使用详解 #### 一、简介与背景 在软件开发过程中,尤其是Java语言的开发中,我们经常需要编写大量的“样板代码”,比如构造器、getter和setter方法、`equals`/`hashCode`实现等。这些代码不仅冗余且...

    lombok-1.16.20.jar

    7. `@Log`系列:如`@Log4j`、`@Logback`等,为类添加日志记录器实例,方便进行日志输出。 使用Lombok时,需要在IDE中安装Lombok插件,并在项目构建配置中引入Lombok的依赖。这样,当你在编辑器中编写带有Lombok注解...

    lombok插件

    Lombok插件是Java开发者常用的工具之一,它极大地提高了开发效率,尤其是在处理大量getter、setter、构造函数和其他常规样板代码时。Lombok通过提供注解的方式,允许开发者在源代码中消除这些冗余的代码,使代码更加...

    lombok-plugin-2021.3.zip

    - `@Log4j`, `@Slf4j`, `@CommonsLog` 等:为类添加日志记录器字段。 3. **Lombok 插件的安装与配置:** - 打开 IntelliJ IDEA,进入 "File" -> "Settings"(Windows/Linux)或 "Preferences"(Mac)。 - 在设置...

    Lombok1.16.20.jar Lombok1.16.6.jar

    10. **@Log**(如:@Log4j、@Logback、@SLF4J):这些注解能够自动引入日志框架的Logger,方便进行日志记录。 在使用Lombok时,需要在IDE(如IntelliJ IDEA或Eclipse)中安装Lombok插件,以便在编辑时能够正确识别...

    lombok.zip

    - `@Log4j`, `@Log4j2`, `@Logback`, `@SLF4J`:自动导入对应日志库的Logger实例,简化日志记录。 5. **其他实用注解**: - `@Value`:与@Data类似,但生成的类是final的,字段也是private且final,适合创建不可...

    lombok.jar压缩包

    6. `@Log`系列注解(如`@Log4j`, `@Slf4j`, `@CommonsLog`):自动在类中引入日志记录器,简化日志代码。 使用Lombok的步骤如下: 1. 添加Lombok依赖:在你的项目构建配置文件(如Maven的pom.xml或Gradle的build....

    lombok2018.1-2019.3.zip

    1. `@Data`:这是Lombok最常用的注解之一,它会自动生成类的所有非静态字段的getter和setter,同时还会生成一个全参数的构造函数。 2. `@AllArgsConstructor`:此注解会为类生成一个包含所有字段的构造函数,而`@...

    lombok-plugin-0.29-EAP.zip

    7. `@Log`系列:如`@Log4j`、`@Logback`等,为类添加日志记录器,方便调试。 Lombok插件的安装和使用步骤大致如下: 1. 下载并解压"lombok-plugin-0.29-EAP.zip",获取到插件文件。 2. 在IDE中打开插件管理界面,...

    Lombok1.16.20.jar

    7. **@Log** (例如 @Log4j, @Log4j2, @SLF4J): 自动在类中注入日志对象,无需手动创建。 **在Eclipse中使用Lombok**: 在Eclipse中,除了安装Lombok插件外,还需要确保项目配置正确。你需要在项目的Build Path设置...

    lombok插件.zip

    2. **简化日志处理**:`@Log4j`、`@SLF4J`等注解能够自动为类引入日志对象,无需手动初始化。 3. **提高对象比较效率**:`@EqualsAndHashCode`和`@ToString`注解可以自动生成 equals() 和 hashCode() 方法,以及...

Global site tag (gtag.js) - Google Analytics