kotlin log

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:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Kotlin is 100% interoperable with Java™ and Android™ 在前面的...
    JackChen1024阅读 11,532评论 1 15
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,355评论 9 118
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • 曲靖民中賦 滇東重鎮,二爨故里。珠源新城,嵗在丁酉。擇址精築,龍華學府...
    诺布江村阅读 3,935评论 0 2
  • 无意间看到一个同事的签名,说“若工作不高效,则生活无自由”,深以为然。不知是不是同事原创,还特意去必应查了一下,原...
    张亚毅阅读 1,430评论 0 0