kotlin log

2017-12-07  本文已影响745人  惊世一饿

1 痛点

在Java中,需要写日志的时候,在class上添加@Slf4j,然后,lombok会自动给class中注入一个属性“log”,你就可以写日志了:

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class GlobalHandlerException{

    @ExceptionHandler(IllegalArgumentException.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ResponseBody
    public void handlerException(IllegalArgumentException e) {
        log.warn(e.getMessage(), e);
        throw e;
    }
}

Lombok使用javac处理注解,修改字节码;当kotlin编译器运行时,也使用javac。所以,kotlin要达到与Java相同的效果,就必须严格限定编译顺序:先Java,后Kotlin。但,这么做的话,Java不能调用kotlin的代码。

2 kotlin的log

import org.slf4j.LoggerFactory

class GlobalHandlerException{
    val log = LoggerFactory.getLogger(this.javaClass)
}

代码还是有点长...

3 解决方案

思路:使用Intellij IDEA的自动代码补全,减少工作量
File --> Settings --> Editor --> Live Template


新增模板

快试试好使么 :blush:

上一篇 下一篇

猜你喜欢

热点阅读