java 使用Java 8 lambdas编写干净的日志代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 使用Java 8 lambdas编写干净的日志代码相关的知识,希望对你有一定的参考价值。

import lombok.extern.log4j.Log4j2;

@Log4j2 
public class CSysFormular {

  public void preJava8() {
    
    String parameter1 = "test";
    // Log only if log level equal or above debug
    if (logger.isDebugEnabled()) {
      logger.debug("Logentry Parameters {} {} ", parameter1, costlyOperation());
    }  
 }
 
 public void Java8() {
    
    String parameter1 = "test";
    //parameter1 and costlyOperation are only evaluated if loglevel equal or above debug 
    logger.debug("Logentry Parameters {} {} ", () -> parameter1, ()->costlyOperation());  
 }
 
 public String costlyOperation() {
   return "";
 }
}

以上是关于java 使用Java 8 lambdas编写干净的日志代码的主要内容,如果未能解决你的问题,请参考以下文章

Java 8 lambda表达式20180404

使用Mockito为Java 8 lambda表达式编写存根

Java 8 Lambdas并编写非脆弱的代码

在JAVA 8中以lambda块同步

Lambda表达式

Groovy 编译器不接受 java 8 Lambda