- 主题:咨询个lombok里slf4j的问题
给类加了@Slf4j注解后,就会自动的给类加一个attribue:log。比如:
@Slf4j
public class LogExample {
}
will generate:
public class LogExample {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
}
我想知道,这个log属性是怎么加进去的。网上搜了一圈,只有人提到这是编译的时候加上去的,但是没说HOW。哪位专家给说说,源代码的哪个类是做这个事情的。谢谢!
参考:
1. 使用spring方式实现的一个类似的版本,但还是不一样啊
https://dzone.com/articles/inject-slf4j-logger-annotation
--
FROM 223.104.41.*
能详细点不,哪个类处理的annotation
【 在 canper 的大作中提到: 】
: Annotation Processing
--
FROM 223.104.41.*
谢谢,我去看看
【 在 canper 的大作中提到: 】
: 有个javax.annotation.processing包,具体的比较复杂,敲字说不清楚,可以所以相关的资料
--
FROM 223.104.41.*
官网介绍了怎么用而已
【 在 licy 的大作中提到: 】
: 搜一下lombok官网就行
:
:
--
FROM 120.244.234.*
非常感谢!!
我顺着Annotation Processing找到了JSR269,正在看相关的内容。
非常感谢!
【 在 imichael 的大作中提到: 】
: 简单来说就是有个规范 JSR-269:Pluggable Annotations Processing API(插入式注
: 解处理API),这个规范提供了一组插入式注解处理器的标准API在编译期间对注解进行
: 处理,可以通过extend javax.annotation.processing.AbstractProcessor来开发自己
: ...................
--
FROM 223.104.41.*
我写了一个小程序,实现了编译的时候加一些代码(打log)进去
后来没再继续看Lombok了
你有什么好的文章介绍Lombok吗,谢谢推荐
【 在 nikezhang 的大作中提到: 】
: 你还是先去了解下Lombok的原理吧,然后把java的语法数相关类熟悉了
--
FROM 223.104.41.*
就是改着玩的。
主要是被Lombok给迷住了,想用同样方法做。其实还挺简单的,就是需要了解下抽象树的操作,用IDEA调试的时候,能看出来各种语句的类型,写AST操作很简单。
另外,编译的时候改程序,运行效率是不是比横切效率要好呀。
【 在 licy 的大作中提到: 】
: 我觉得你的方向是不是有点问题,你这种需求用aop啥的处理更合适吧
:
: 直接改代码的方式有点太底层了
: ...................
--
FROM 223.104.40.*