'How to Create annotations which can declare variable using class name from its usage
following
public class Testclass {
private static final LogExtension log = new LogExtension(Testclass.class);
}
should work with just:
@LogExtension
public class Testclass{}
similar to @Slf4j with its annotation it creates an object like in all the classes where it is used.
private static final org.slf4j.Logger internalLog = org.slf4j.LoggerFactory.getLogger(LogExtension.class);
any help will be much appreciated.. thanks for reading. couldn't find much on the internet about how to do it.
I'm trying to create a annotation like
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
@interface LogExt{
LogExtension log() default new LogExtension();
}
but how to get the class type as default to create object of LogExtension ? to make it work like :
private static final LogExtension log = new LogExtension(Testclass.class);
Scenario: I'm trying to have a Logger class that can replace SLF4j as per my problem so it Like I want to create a custom annotation like @LogExtension similar to @slf4j which can execute on compile-time to produce
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
