Merge branch 'logger-access'

This commit is contained in:
Reinier Zwitserloot committed 2025-09-18 01:45:24 +02:00
commit c95a6c127e
44 files changed
+1199 -48

No files matched your search

+1
View File
@@ -26,6 +26,7 @@ John Paul Taylor II <johnpaultaylorii@gmail.com>
Karthik kathari <44122128+varkart@users.noreply.github.com>
Kevin Chirls <kchirls@users.noreply.github.com>
Liu DongMiao <liudongmiao@gmail.com>
Liam Pace <liam.hollum.pace@gmail.com>
Luan Nico <luannico27@gmail.com>
Maarten Mulders <mthmulders@users.noreply.github.com>
Manu Sridharan <msridhar@gmail.com>
+1
View File
@@ -2,6 +2,7 @@ Lombok Changelog
----------------
### v1.18.41 "Edgy Guinea Pig"
* FEATURE: All the various `@Log` annotations now allow you to change their access level (they still default to `private`). [#2280](https://github.com/projectlombok/lombok/issues/2280). Thanks to new contributor Liam Pace!
* BUGFIX: Javadoc parsing was broken in Netbeans and ErrorProne for JDK25 [#3940](https://github.com/projectlombok/lombok/issues/3940).
### v1.18.40 (September 4th, 2025)
+5
View File
@@ -0,0 +1,5 @@
build/
.gradle/
gradle/
gradlew
gradlew.bat
+19 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 The Project Lombok Authors.
* Copyright (C) 2009-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -25,7 +25,24 @@ package lombok;
* Represents an AccessLevel. Used e.g. to specify the access level for generated methods and fields.
*/
public enum AccessLevel {
PUBLIC, MODULE, PROTECTED, PACKAGE, PRIVATE,
/** Represents the {@code public} access level. */
PUBLIC,
/**
* Acts exactly like {@code PACKAGE} - the package private access level.
* @deprecated This value was created at a time when a module-level access keyword was planned as a way of being prepared for the future. But that's not the direction java went in; a 'module access level' is not likely to ever exist. This enum acts like {@code PACKAGE} in every way.
*/
@Deprecated MODULE,
/** Represents the {@code protected} access level (any code in the same package as well as any subtype). */
PROTECTED,
/** Represents the default access level: package private. (any code in the same package). */
PACKAGE,
/** Represents the {@code private} access level. */
PRIVATE,
/** Represents not generating anything or the complete lack of a method. */
NONE;
}
+8
View File
@@ -65,6 +65,14 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface CustomLog {
/**
* Sets the access level of the generated log field.
* Default: {@code AccessLevel.PRIVATE}.
*
* @return The constructed Logger method will be generated with this access modifier.
*/
AccessLevel access() default AccessLevel.PRIVATE;
/**
*
* Sets a custom topic/category. Note that this requires you to specify a parameter configuration for your custom logger that includes {@code TOPIC}.
@@ -1393,6 +1393,7 @@ public class EclipseHandlerUtil {
/**
* Turns an {@code AccessLevel} instance into the flag bit used by eclipse.
*/
@SuppressWarnings("deprecation") // We have to use MODULE here to make it act according to spec, which is to treat it like `PACKAGE`.
public static int toEclipseModifier(AccessLevel value) {
switch (value) {
case MODULE:
+18 -14
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2024 The Project Lombok Authors.
* Copyright (C) 2010-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -39,6 +39,7 @@ import org.eclipse.jdt.internal.compiler.ast.TypeDeclaration;
import org.eclipse.jdt.internal.compiler.ast.TypeReference;
import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
import lombok.AccessLevel;
import lombok.ConfigurationKeys;
import lombok.core.AnnotationValues;
import lombok.core.configuration.IdentifierName;
@@ -57,7 +58,7 @@ public class HandleLog {
throw new UnsupportedOperationException();
}
public static void processAnnotation(LoggingFramework framework, AnnotationValues<? extends java.lang.annotation.Annotation> annotation, Annotation source, EclipseNode annotationNode) {
public static void processAnnotation(LoggingFramework framework, AccessLevel access, AnnotationValues<? extends java.lang.annotation.Annotation> annotation, Annotation source, EclipseNode annotationNode) {
EclipseNode owner = annotationNode.up();
switch (owner.getKind()) {
@@ -97,6 +98,7 @@ public class HandleLog {
Expression loggerTopic = (Expression) annotation.getActualExpression("topic");
if (valueGuess instanceof String && ((String) valueGuess).trim().isEmpty()) loggerTopic = null;
if (framework.getDeclaration().getParametersWithTopic() == null && loggerTopic != null) {
annotationNode.addError(framework.getAnnotationAsString() + " does not allow a topic.");
loggerTopic = null;
@@ -106,8 +108,10 @@ public class HandleLog {
loggerTopic = new StringLiteral(new char[]{}, 0, 0, 0);
}
if (access == AccessLevel.NONE) break;
ClassLiteralAccess loggingType = selfType(owner, source);
FieldDeclaration fieldDeclaration = createField(framework, source, loggingType, logFieldName.getName(), useStatic, loggerTopic);
FieldDeclaration fieldDeclaration = createField(framework, access, source, loggingType, logFieldName.getName(), useStatic, loggerTopic);
fieldDeclaration.traverse(new SetGeneratedByVisitor(source), typeDecl.staticInitializerScope);
injectFieldAndMarkGenerated(owner, fieldDeclaration);
owner.rebuild();
@@ -131,7 +135,7 @@ public class HandleLog {
return result;
}
private static FieldDeclaration createField(LoggingFramework framework, Annotation source, ClassLiteralAccess loggingType, String logFieldName, boolean useStatic, Expression loggerTopic) {
private static FieldDeclaration createField(LoggingFramework framework, AccessLevel access, Annotation source, ClassLiteralAccess loggingType, String logFieldName, boolean useStatic, Expression loggerTopic) {
int pS = source.sourceStart, pE = source.sourceEnd;
long p = (long) pS << 32 | pE;
@@ -139,7 +143,7 @@ public class HandleLog {
FieldDeclaration fieldDecl = new FieldDeclaration(logFieldName.toCharArray(), 0, -1);
setGeneratedBy(fieldDecl, source);
fieldDecl.declarationSourceEnd = -1;
fieldDecl.modifiers = Modifier.PRIVATE | (useStatic ? Modifier.STATIC : 0) | Modifier.FINAL;
fieldDecl.modifiers = toEclipseModifier(access) | (useStatic ? Modifier.STATIC : 0) | Modifier.FINAL;
LogDeclaration logDeclaration = framework.getDeclaration();
fieldDecl.type = createTypeReference(logDeclaration.getLoggerType().getName(), source);
@@ -215,7 +219,7 @@ public class HandleLog {
public static class HandleCommonsLog extends EclipseAnnotationHandler<lombok.extern.apachecommons.CommonsLog> {
@Override public void handle(AnnotationValues<lombok.extern.apachecommons.CommonsLog> annotation, Annotation source, EclipseNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_COMMONS_FLAG_USAGE, "@apachecommons.CommonsLog", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.COMMONS, annotation, source, annotationNode);
processAnnotation(LoggingFramework.COMMONS, annotation.getInstance().access(), annotation, source, annotationNode);
}
}
@@ -226,7 +230,7 @@ public class HandleLog {
public static class HandleJulLog extends EclipseAnnotationHandler<lombok.extern.java.Log> {
@Override public void handle(AnnotationValues<lombok.extern.java.Log> annotation, Annotation source, EclipseNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_JUL_FLAG_USAGE, "@java.Log", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.JUL, annotation, source, annotationNode);
processAnnotation(LoggingFramework.JUL, annotation.getInstance().access(), annotation, source, annotationNode);
}
}
@@ -237,7 +241,7 @@ public class HandleLog {
public static class HandleLog4jLog extends EclipseAnnotationHandler<lombok.extern.log4j.Log4j> {
@Override public void handle(AnnotationValues<lombok.extern.log4j.Log4j> annotation, Annotation source, EclipseNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_LOG4J_FLAG_USAGE, "@Log4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.LOG4J, annotation, source, annotationNode);
processAnnotation(LoggingFramework.LOG4J, annotation.getInstance().access(), annotation, source, annotationNode);
}
}
@@ -248,7 +252,7 @@ public class HandleLog {
public static class HandleLog4j2Log extends EclipseAnnotationHandler<lombok.extern.log4j.Log4j2> {
@Override public void handle(AnnotationValues<lombok.extern.log4j.Log4j2> annotation, Annotation source, EclipseNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_LOG4J2_FLAG_USAGE, "@Log4j2", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.LOG4J2, annotation, source, annotationNode);
processAnnotation(LoggingFramework.LOG4J2, annotation.getInstance().access(), annotation, source, annotationNode);
}
}
@@ -259,7 +263,7 @@ public class HandleLog {
public static class HandleSlf4jLog extends EclipseAnnotationHandler<lombok.extern.slf4j.Slf4j> {
@Override public void handle(AnnotationValues<lombok.extern.slf4j.Slf4j> annotation, Annotation source, EclipseNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_SLF4J_FLAG_USAGE, "@Slf4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.SLF4J, annotation, source, annotationNode);
processAnnotation(LoggingFramework.SLF4J, annotation.getInstance().access(), annotation, source, annotationNode);
}
}
@@ -270,7 +274,7 @@ public class HandleLog {
public static class HandleXSlf4jLog extends EclipseAnnotationHandler<lombok.extern.slf4j.XSlf4j> {
@Override public void handle(AnnotationValues<lombok.extern.slf4j.XSlf4j> annotation, Annotation source, EclipseNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_XSLF4J_FLAG_USAGE, "@XSlf4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.XSLF4J, annotation, source, annotationNode);
processAnnotation(LoggingFramework.XSLF4J, annotation.getInstance().access(), annotation, source, annotationNode);
}
}
@@ -281,7 +285,7 @@ public class HandleLog {
public static class HandleJBossLog extends EclipseAnnotationHandler<lombok.extern.jbosslog.JBossLog> {
@Override public void handle(AnnotationValues<lombok.extern.jbosslog.JBossLog> annotation, Annotation source, EclipseNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_JBOSSLOG_FLAG_USAGE, "@JBossLog", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.JBOSSLOG, annotation, source, annotationNode);
processAnnotation(LoggingFramework.JBOSSLOG, annotation.getInstance().access(), annotation, source, annotationNode);
}
}
@@ -292,7 +296,7 @@ public class HandleLog {
public static class HandleFloggerLog extends EclipseAnnotationHandler<lombok.extern.flogger.Flogger> {
@Override public void handle(AnnotationValues<lombok.extern.flogger.Flogger> annotation, Annotation source, EclipseNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_FLOGGER_FLAG_USAGE, "@Flogger", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.FLOGGER, annotation, source, annotationNode);
processAnnotation(LoggingFramework.FLOGGER, annotation.getInstance().access(), annotation, source, annotationNode);
}
}
@@ -309,7 +313,7 @@ public class HandleLog {
return;
}
LoggingFramework framework = new LoggingFramework(lombok.CustomLog.class, logDeclaration);
processAnnotation(framework, annotation, source, annotationNode);
processAnnotation(framework, annotation.getInstance().access(), annotation, source, annotationNode);
}
}
}
+11 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2017 The Project Lombok Authors.
* Copyright (C) 2010-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,6 +26,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import lombok.AccessLevel;
/**
* Causes lombok to generate a logger field.
* <p>
@@ -62,6 +64,14 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface CommonsLog {
/**
* Sets the access level of the generated log field.
* Default: {@code AccessLevel.PRIVATE}.
*
* @return The constructed Logger method will be generated with this access modifier.
*/
AccessLevel access() default AccessLevel.PRIVATE;
/** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */
String topic() default "";
}
+10 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018 The Project Lombok Authors.
* Copyright (C) 2018-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,6 +26,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import lombok.AccessLevel;
/**
* Causes lombok to generate a logger field.
* <p>
@@ -60,4 +62,11 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Flogger {
/**
* Sets the access level of the generated log field.
* Default: {@code AccessLevel.PRIVATE}.
*
* @return The constructed Logger method will be generated with this access modifier.
*/
AccessLevel access() default AccessLevel.PRIVATE;
}
+11 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2017 The Project Lombok Authors.
* Copyright (C) 2010-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,6 +26,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import lombok.AccessLevel;
/**
* Causes lombok to generate a logger field.
* <p>
@@ -61,6 +63,14 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Log {
/**
* Sets the access level of the generated log field.
* Default: {@code AccessLevel.PRIVATE}.
*
* @return The constructed Logger method will be generated with this access modifier.
*/
AccessLevel access() default AccessLevel.PRIVATE;
/** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */
String topic() default "";
}
+11 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2017 The Project Lombok Authors.
* Copyright (C) 2016-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,6 +26,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import lombok.AccessLevel;
/**
* Causes lombok to generate a logger field.
* <p>
@@ -61,6 +63,14 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface JBossLog {
/**
* Sets the access level of the generated log field.
* Default: {@code AccessLevel.PRIVATE}.
*
* @return The constructed Logger method will be generated with this access modifier.
*/
AccessLevel access() default AccessLevel.PRIVATE;
/** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */
String topic() default "";
}
+11 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2017 The Project Lombok Authors.
* Copyright (C) 2010-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,6 +26,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import lombok.AccessLevel;
/**
* Causes lombok to generate a logger field.
* <p>
@@ -62,6 +64,14 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Log4j {
/**
* Sets the access level of the generated log field.
* Default: {@code AccessLevel.PRIVATE}.
*
* @return The constructed Logger method will be generated with this access modifier.
*/
AccessLevel access() default AccessLevel.PRIVATE;
/** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */
String topic() default "";
}
+11 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013-2017 The Project Lombok Authors.
* Copyright (C) 2013-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,6 +26,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import lombok.AccessLevel;
/**
* Causes lombok to generate a logger field.
* <p>
@@ -62,6 +64,14 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Log4j2 {
/**
* Sets the access level of the generated log field.
* Default: {@code AccessLevel.PRIVATE}.
*
* @return The constructed Logger method will be generated with this access modifier.
*/
AccessLevel access() default AccessLevel.PRIVATE;
/** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */
String topic() default "";
}
+11 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2010-2017 The Project Lombok Authors.
* Copyright (C) 2010-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,6 +26,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import lombok.AccessLevel;
/**
* Causes lombok to generate a logger field.
* <p>
@@ -61,6 +63,14 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Slf4j {
/**
* Sets the access level of the generated log field.
* Default: {@code AccessLevel.PRIVATE}.
*
* @return The constructed Logger method will be generated with this access modifier.
*/
AccessLevel access() default AccessLevel.PRIVATE;
/** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */
String topic() default "";
}
+11 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2012-2017 The Project Lombok Authors.
* Copyright (C) 2012-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,6 +26,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import lombok.AccessLevel;
/**
* Causes lombok to generate a logger field.
* <p>
@@ -61,6 +63,14 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface XSlf4j {
/**
* Sets the access level of the generated log field.
* Default: {@code AccessLevel.PRIVATE}.
*
* @return The constructed Logger method will be generated with this access modifier.
*/
AccessLevel access() default AccessLevel.PRIVATE;
/** @return The category of the constructed Logger. By default, it will use the type where the annotation is placed. */
String topic() default "";
}
+28 -24
View File
@@ -21,10 +21,21 @@
*/
package lombok.javac.handlers;
import static lombok.core.handlers.HandlerUtil.*;
import static lombok.core.handlers.HandlerUtil.handleFlagUsage;
import static lombok.javac.Javac.CTC_BOT;
import static lombok.javac.handlers.JavacHandlerUtil.*;
import com.sun.tools.javac.code.Flags;
import com.sun.tools.javac.tree.JCTree.JCAnnotation;
import com.sun.tools.javac.tree.JCTree.JCClassDecl;
import com.sun.tools.javac.tree.JCTree.JCExpression;
import com.sun.tools.javac.tree.JCTree.JCFieldAccess;
import com.sun.tools.javac.tree.JCTree.JCMethodInvocation;
import com.sun.tools.javac.tree.JCTree.JCVariableDecl;
import com.sun.tools.javac.util.List;
import com.sun.tools.javac.util.Name;
import lombok.AccessLevel;
import lombok.ConfigurationKeys;
import lombok.core.AnnotationValues;
import lombok.core.configuration.IdentifierName;
@@ -38,16 +49,6 @@ import lombok.javac.JavacTreeMaker;
import lombok.javac.handlers.JavacHandlerUtil.MemberExistsResult;
import lombok.spi.Provides;
import com.sun.tools.javac.code.Flags;
import com.sun.tools.javac.tree.JCTree.JCAnnotation;
import com.sun.tools.javac.tree.JCTree.JCClassDecl;
import com.sun.tools.javac.tree.JCTree.JCExpression;
import com.sun.tools.javac.tree.JCTree.JCFieldAccess;
import com.sun.tools.javac.tree.JCTree.JCMethodInvocation;
import com.sun.tools.javac.tree.JCTree.JCVariableDecl;
import com.sun.tools.javac.util.List;
import com.sun.tools.javac.util.Name;
public class HandleLog {
private static final IdentifierName LOG = IdentifierName.valueOf("log");
@@ -55,7 +56,7 @@ public class HandleLog {
throw new UnsupportedOperationException();
}
public static void processAnnotation(LoggingFramework framework, AnnotationValues<?> annotation, JavacNode annotationNode) {
public static void processAnnotation(LoggingFramework framework, AccessLevel access, AnnotationValues<?> annotation, JavacNode annotationNode) {
deleteAnnotationIfNeccessary(annotationNode, framework.getAnnotationClass());
JavacNode typeNode = annotationNode.up();
@@ -98,8 +99,10 @@ public class HandleLog {
loggerTopic = typeNode.getTreeMaker().Literal("");
}
if (access == AccessLevel.NONE) break;
JCFieldAccess loggingType = selfType(typeNode);
createField(framework, typeNode, loggingType, annotationNode, logFieldName.getName(), useStatic, loggerTopic);
createField(framework, access, typeNode, loggingType, annotationNode, logFieldName.getName(), useStatic, loggerTopic);
break;
default:
annotationNode.addError("@Log is legal only on types.");
@@ -113,7 +116,8 @@ public class HandleLog {
return maker.Select(maker.Ident(name), typeNode.toName("class"));
}
private static boolean createField(LoggingFramework framework, JavacNode typeNode, JCFieldAccess loggingType, JavacNode source, String logFieldName, boolean useStatic, JCExpression loggerTopic) {
private static boolean createField(LoggingFramework framework, AccessLevel access, JavacNode typeNode, JCFieldAccess loggingType, JavacNode source, String logFieldName, boolean useStatic, JCExpression loggerTopic) {
JavacTreeMaker maker = typeNode.getTreeMaker();
LogDeclaration logDeclaration = framework.getDeclaration();
@@ -126,7 +130,7 @@ public class HandleLog {
JCMethodInvocation factoryMethodCall = maker.Apply(List.<JCExpression>nil(), factoryMethod, List.<JCExpression>from(factoryParameters));
JCVariableDecl fieldDecl = recursiveSetGeneratedBy(maker.VarDef(
maker.Modifiers(Flags.PRIVATE | Flags.FINAL | (useStatic ? Flags.STATIC : 0)),
maker.Modifiers(toJavacModifier(access) | Flags.FINAL | (useStatic ? Flags.STATIC : 0)),
typeNode.toName(logFieldName), loggerType, factoryMethodCall), source);
if (isRecord(typeNode) && Javac.getJavaCompilerVersion() < 16) {
@@ -177,7 +181,7 @@ public class HandleLog {
public static class HandleCommonsLog extends JavacAnnotationHandler<lombok.extern.apachecommons.CommonsLog> {
@Override public void handle(AnnotationValues<lombok.extern.apachecommons.CommonsLog> annotation, JCAnnotation ast, JavacNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_COMMONS_FLAG_USAGE, "@apachecommons.CommonsLog", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.COMMONS, annotation, annotationNode);
processAnnotation(LoggingFramework.COMMONS, annotation.getInstance().access(), annotation, annotationNode);
}
}
@@ -188,7 +192,7 @@ public class HandleLog {
public static class HandleJulLog extends JavacAnnotationHandler<lombok.extern.java.Log> {
@Override public void handle(AnnotationValues<lombok.extern.java.Log> annotation, JCAnnotation ast, JavacNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_JUL_FLAG_USAGE, "@java.Log", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.JUL, annotation, annotationNode);
processAnnotation(LoggingFramework.JUL, annotation.getInstance().access(), annotation, annotationNode);
}
}
@@ -199,7 +203,7 @@ public class HandleLog {
public static class HandleLog4jLog extends JavacAnnotationHandler<lombok.extern.log4j.Log4j> {
@Override public void handle(AnnotationValues<lombok.extern.log4j.Log4j> annotation, JCAnnotation ast, JavacNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_LOG4J_FLAG_USAGE, "@Log4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.LOG4J, annotation, annotationNode);
processAnnotation(LoggingFramework.LOG4J, annotation.getInstance().access(), annotation, annotationNode);
}
}
@@ -210,7 +214,7 @@ public class HandleLog {
public static class HandleLog4j2Log extends JavacAnnotationHandler<lombok.extern.log4j.Log4j2> {
@Override public void handle(AnnotationValues<lombok.extern.log4j.Log4j2> annotation, JCAnnotation ast, JavacNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_LOG4J2_FLAG_USAGE, "@Log4j2", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.LOG4J2, annotation, annotationNode);
processAnnotation(LoggingFramework.LOG4J2, annotation.getInstance().access(), annotation, annotationNode);
}
}
@@ -221,7 +225,7 @@ public class HandleLog {
public static class HandleSlf4jLog extends JavacAnnotationHandler<lombok.extern.slf4j.Slf4j> {
@Override public void handle(AnnotationValues<lombok.extern.slf4j.Slf4j> annotation, JCAnnotation ast, JavacNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_SLF4J_FLAG_USAGE, "@Slf4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.SLF4J, annotation, annotationNode);
processAnnotation(LoggingFramework.SLF4J, annotation.getInstance().access(), annotation, annotationNode);
}
}
@@ -232,7 +236,7 @@ public class HandleLog {
public static class HandleXSlf4jLog extends JavacAnnotationHandler<lombok.extern.slf4j.XSlf4j> {
@Override public void handle(AnnotationValues<lombok.extern.slf4j.XSlf4j> annotation, JCAnnotation ast, JavacNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_XSLF4J_FLAG_USAGE, "@XSlf4j", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.XSLF4J, annotation, annotationNode);
processAnnotation(LoggingFramework.XSLF4J, annotation.getInstance().access(), annotation, annotationNode);
}
}
@@ -243,7 +247,7 @@ public class HandleLog {
public static class HandleJBossLog extends JavacAnnotationHandler<lombok.extern.jbosslog.JBossLog> {
@Override public void handle(AnnotationValues<lombok.extern.jbosslog.JBossLog> annotation, JCAnnotation ast, JavacNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_JBOSSLOG_FLAG_USAGE, "@JBossLog", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.JBOSSLOG, annotation, annotationNode);
processAnnotation(LoggingFramework.JBOSSLOG, annotation.getInstance().access(), annotation, annotationNode);
}
}
@@ -254,7 +258,7 @@ public class HandleLog {
public static class HandleFloggerLog extends JavacAnnotationHandler<lombok.extern.flogger.Flogger> {
@Override public void handle(AnnotationValues<lombok.extern.flogger.Flogger> annotation, JCAnnotation ast, JavacNode annotationNode) {
handleFlagUsage(annotationNode, ConfigurationKeys.LOG_FLOGGER_FLAG_USAGE, "@Flogger", ConfigurationKeys.LOG_ANY_FLAG_USAGE, "any @Log");
processAnnotation(LoggingFramework.FLOGGER, annotation, annotationNode);
processAnnotation(LoggingFramework.FLOGGER, annotation.getInstance().access(), annotation, annotationNode);
}
}
@@ -271,7 +275,7 @@ public class HandleLog {
return;
}
LoggingFramework framework = new LoggingFramework(lombok.CustomLog.class, logDeclaration);
processAnnotation(framework, annotation, annotationNode);
processAnnotation(framework, annotation.getInstance().access(), annotation, annotationNode);
}
}
}
@@ -997,6 +997,7 @@ public class JavacHandlerUtil {
/**
* Turns an {@code AccessLevel} instance into the flag bit used by javac.
*/
@SuppressWarnings("deprecation") // We have to use MODULE here to make it act according to spec, which is to treat it like `PACKAGE`.
public static int toJavacModifier(AccessLevel accessLevel) {
switch (accessLevel) {
case MODULE:
@@ -0,0 +1,33 @@
import lombok.AccessLevel;
class LoggerCommonsAccessPublic {
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPublic.class);
}
class LoggerCommonsAccessModule {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessModule.class);
}
class LoggerCommonsAccessProtected {
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessProtected.class);
}
class LoggerCommonsAccessPackage {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPackage.class);
}
class LoggerCommonsAccessPrivate {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPrivate.class);
}
class LoggerCommonsAccessNone {
}
@@ -0,0 +1,41 @@
import lombok.AccessLevel;
class LoggerCustomAccessPublic {
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPublic.class);
}
class LoggerCustomAccessModule {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessModule.class);
}
class LoggerCustomAccessProtected {
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessProtected.class);
}
class LoggerCustomAccessPackage {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPackage.class);
}
class LoggerCustomAccessPrivate {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPrivate.class);
}
class LoggerCustomAccessNone {
}
class MyLoggerFactory {
static MyLogger create(Class<?> clazz) {
return null;
}
}
class MyLogger {
}
@@ -0,0 +1,33 @@
import lombok.AccessLevel;
class LoggerFloggerAccessPublic {
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
}
class LoggerFloggerAccessModule {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
}
class LoggerFloggerAccessProtected {
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
}
class LoggerFloggerAccessPackage {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
}
class LoggerFloggerAccessPrivate {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
}
class LoggerFloggerAccessNone {
}
@@ -0,0 +1,33 @@
import lombok.AccessLevel;
class LoggerJBossLogAccessPublic {
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPublic.class);
}
class LoggerJBossLogAccessModule {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessModule.class);
}
class LoggerJBossLogAccessProtected {
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessProtected.class);
}
class LoggerJBossLogAccessPackage {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPackage.class);
}
class LoggerJBossLogAccessPrivate {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPrivate.class);
}
class LoggerJBossLogAccessNone {
}
@@ -0,0 +1,33 @@
import lombok.AccessLevel;
class LoggerJulAccessPublic {
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPublic.class.getName());
}
class LoggerJulAccessModule {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessModule.class.getName());
}
class LoggerJulAccessProtected {
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessProtected.class.getName());
}
class LoggerJulAccessPackage {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPackage.class.getName());
}
class LoggerJulAccessPrivate {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPrivate.class.getName());
}
class LoggerJulAccessNone {
}
@@ -0,0 +1,33 @@
import lombok.AccessLevel;
class LoggerLog4j2AccessPublic {
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPublic.class);
}
class LoggerLog4j2AccessModule {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessModule.class);
}
class LoggerLog4j2AccessProtected {
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessProtected.class);
}
class LoggerLog4j2AccessPackage {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPackage.class);
}
class LoggerLog4j2AccessPrivate {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPrivate.class);
}
class LoggerLog4j2AccessNone {
}
@@ -0,0 +1,33 @@
import lombok.AccessLevel;
class LoggerLog4jAccessPublic {
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPublic.class);
}
class LoggerLog4jAccessModule {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessModule.class);
}
class LoggerLog4jAccessProtected {
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessProtected.class);
}
class LoggerLog4jAccessPackage {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPackage.class);
}
class LoggerLog4jAccessPrivate {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPrivate.class);
}
class LoggerLog4jAccessNone {
}
@@ -0,0 +1,33 @@
import lombok.AccessLevel;
class LoggerSlf4jAccessPublic {
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPublic.class);
}
class LoggerSlf4jAccessModule {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessModule.class);
}
class LoggerSlf4jAccessProtected {
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessProtected.class);
}
class LoggerSlf4jAccessPackage {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPackage.class);
}
class LoggerSlf4jAccessPrivate {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPrivate.class);
}
class LoggerSlf4jAccessNone {
}
@@ -0,0 +1,33 @@
import lombok.AccessLevel;
class LoggerXslf4jAccessPublic {
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPublic.class);
}
class LoggerXslf4jAccessModule {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessModule.class);
}
class LoggerXslf4jAccessProtected {
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessProtected.class);
}
class LoggerXslf4jAccessPackage {
@java.lang.SuppressWarnings("all")
@lombok.Generated
static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPackage.class);
}
class LoggerXslf4jAccessPrivate {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPrivate.class);
}
class LoggerXslf4jAccessNone {
}
@@ -0,0 +1,52 @@
import lombok.AccessLevel;
import lombok.extern.apachecommons.CommonsLog;
@CommonsLog(access = AccessLevel.PUBLIC) class LoggerCommonsAccessPublic {
public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPublic.class);
<clinit>() {
}
LoggerCommonsAccessPublic() {
super();
}
}
@CommonsLog(access = AccessLevel.MODULE) class LoggerCommonsAccessModule {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessModule.class);
<clinit>() {
}
LoggerCommonsAccessModule() {
super();
}
}
@CommonsLog(access = AccessLevel.PROTECTED) class LoggerCommonsAccessProtected {
protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessProtected.class);
<clinit>() {
}
LoggerCommonsAccessProtected() {
super();
}
}
@CommonsLog(access = AccessLevel.PACKAGE) class LoggerCommonsAccessPackage {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPackage.class);
<clinit>() {
}
LoggerCommonsAccessPackage() {
super();
}
}
@CommonsLog(access = AccessLevel.PRIVATE) class LoggerCommonsAccessPrivate {
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsAccessPrivate.class);
<clinit>() {
}
LoggerCommonsAccessPrivate() {
super();
}
}
@CommonsLog(access = AccessLevel.NONE) class LoggerCommonsAccessNone {
LoggerCommonsAccessNone() {
super();
}
}
@@ -0,0 +1,66 @@
import lombok.AccessLevel;
import lombok.CustomLog;
@CustomLog(access = AccessLevel.PUBLIC) class LoggerCustomAccessPublic {
public static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPublic.class);
<clinit>() {
}
LoggerCustomAccessPublic() {
super();
}
}
@CustomLog(access = AccessLevel.MODULE) class LoggerCustomAccessModule {
static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessModule.class);
<clinit>() {
}
LoggerCustomAccessModule() {
super();
}
}
@CustomLog(access = AccessLevel.PROTECTED) class LoggerCustomAccessProtected {
protected static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessProtected.class);
<clinit>() {
}
LoggerCustomAccessProtected() {
super();
}
}
@CustomLog(access = AccessLevel.PACKAGE) class LoggerCustomAccessPackage {
static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPackage.class);
<clinit>() {
}
LoggerCustomAccessPackage() {
super();
}
}
@CustomLog(access = AccessLevel.PRIVATE) class LoggerCustomAccessPrivate {
private static final @java.lang.SuppressWarnings("all") @lombok.Generated MyLogger log = MyLoggerFactory.create(LoggerCustomAccessPrivate.class);
<clinit>() {
}
LoggerCustomAccessPrivate() {
super();
}
}
@CustomLog(access = AccessLevel.NONE) class LoggerCustomAccessNone {
LoggerCustomAccessNone() {
super();
}
}
class MyLoggerFactory {
MyLoggerFactory() {
super();
}
static MyLogger create(Class<?> clazz) {
return null;
}
}
class MyLogger {
MyLogger() {
super();
}
}
@@ -0,0 +1,52 @@
import lombok.AccessLevel;
import lombok.extern.flogger.Flogger;
@Flogger(access = AccessLevel.PUBLIC) class LoggerFloggerAccessPublic {
public static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
<clinit>() {
}
LoggerFloggerAccessPublic() {
super();
}
}
@Flogger(access = AccessLevel.MODULE) class LoggerFloggerAccessModule {
static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
<clinit>() {
}
LoggerFloggerAccessModule() {
super();
}
}
@Flogger(access = AccessLevel.PROTECTED) class LoggerFloggerAccessProtected {
protected static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
<clinit>() {
}
LoggerFloggerAccessProtected() {
super();
}
}
@Flogger(access = AccessLevel.PACKAGE) class LoggerFloggerAccessPackage {
static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
<clinit>() {
}
LoggerFloggerAccessPackage() {
super();
}
}
@Flogger(access = AccessLevel.PRIVATE) class LoggerFloggerAccessPrivate {
private static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
<clinit>() {
}
LoggerFloggerAccessPrivate() {
super();
}
}
@Flogger(access = AccessLevel.NONE) class LoggerFloggerAccessNone {
LoggerFloggerAccessNone() {
super();
}
}
@@ -0,0 +1,52 @@
import lombok.AccessLevel;
import lombok.extern.jbosslog.JBossLog;
@JBossLog(access = AccessLevel.PUBLIC) class LoggerJBossLogAccessPublic {
public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPublic.class);
<clinit>() {
}
LoggerJBossLogAccessPublic() {
super();
}
}
@JBossLog(access = AccessLevel.MODULE) class LoggerJBossLogAccessModule {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessModule.class);
<clinit>() {
}
LoggerJBossLogAccessModule() {
super();
}
}
@JBossLog(access = AccessLevel.PROTECTED) class LoggerJBossLogAccessProtected {
protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessProtected.class);
<clinit>() {
}
LoggerJBossLogAccessProtected() {
super();
}
}
@JBossLog(access = AccessLevel.PACKAGE) class LoggerJBossLogAccessPackage {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPackage.class);
<clinit>() {
}
LoggerJBossLogAccessPackage() {
super();
}
}
@JBossLog(access = AccessLevel.PRIVATE) class LoggerJBossLogAccessPrivate {
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LoggerJBossLogAccessPrivate.class);
<clinit>() {
}
LoggerJBossLogAccessPrivate() {
super();
}
}
@JBossLog(access = AccessLevel.NONE) class LoggerJBossLogAccessNone {
LoggerJBossLogAccessNone() {
super();
}
}
@@ -0,0 +1,52 @@
import lombok.AccessLevel;
import lombok.extern.java.Log;
@Log(access = AccessLevel.PUBLIC) class LoggerJulAccessPublic {
public static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPublic.class.getName());
<clinit>() {
}
LoggerJulAccessPublic() {
super();
}
}
@Log(access = AccessLevel.MODULE) class LoggerJulAccessModule {
static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessModule.class.getName());
<clinit>() {
}
LoggerJulAccessModule() {
super();
}
}
@Log(access = AccessLevel.PROTECTED) class LoggerJulAccessProtected {
protected static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessProtected.class.getName());
<clinit>() {
}
LoggerJulAccessProtected() {
super();
}
}
@Log(access = AccessLevel.PACKAGE) class LoggerJulAccessPackage {
static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPackage.class.getName());
<clinit>() {
}
LoggerJulAccessPackage() {
super();
}
}
@Log(access = AccessLevel.PRIVATE) class LoggerJulAccessPrivate {
private static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulAccessPrivate.class.getName());
<clinit>() {
}
LoggerJulAccessPrivate() {
super();
}
}
@Log(access = AccessLevel.NONE) class LoggerJulAccessNone {
LoggerJulAccessNone() {
super();
}
}
@@ -0,0 +1,52 @@
import lombok.AccessLevel;
import lombok.extern.log4j.Log4j2;
@Log4j2(access = AccessLevel.PUBLIC) class LoggerLog4j2AccessPublic {
public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPublic.class);
<clinit>() {
}
LoggerLog4j2AccessPublic() {
super();
}
}
@Log4j2(access = AccessLevel.MODULE) class LoggerLog4j2AccessModule {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessModule.class);
<clinit>() {
}
LoggerLog4j2AccessModule() {
super();
}
}
@Log4j2(access = AccessLevel.PROTECTED) class LoggerLog4j2AccessProtected {
protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessProtected.class);
<clinit>() {
}
LoggerLog4j2AccessProtected() {
super();
}
}
@Log4j2(access = AccessLevel.PACKAGE) class LoggerLog4j2AccessPackage {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPackage.class);
<clinit>() {
}
LoggerLog4j2AccessPackage() {
super();
}
}
@Log4j2(access = AccessLevel.PRIVATE) class LoggerLog4j2AccessPrivate {
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2AccessPrivate.class);
<clinit>() {
}
LoggerLog4j2AccessPrivate() {
super();
}
}
@Log4j2(access = AccessLevel.NONE) class LoggerLog4j2AccessNone {
LoggerLog4j2AccessNone() {
super();
}
}
@@ -0,0 +1,52 @@
import lombok.AccessLevel;
import lombok.extern.log4j.Log4j;
@Log4j(access = AccessLevel.PUBLIC) class LoggerLog4jAccessPublic {
public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPublic.class);
<clinit>() {
}
LoggerLog4jAccessPublic() {
super();
}
}
@Log4j(access = AccessLevel.MODULE) class LoggerLog4jAccessModule {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessModule.class);
<clinit>() {
}
LoggerLog4jAccessModule() {
super();
}
}
@Log4j(access = AccessLevel.PROTECTED) class LoggerLog4jAccessProtected {
protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessProtected.class);
<clinit>() {
}
LoggerLog4jAccessProtected() {
super();
}
}
@Log4j(access = AccessLevel.PACKAGE) class LoggerLog4jAccessPackage {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPackage.class);
<clinit>() {
}
LoggerLog4jAccessPackage() {
super();
}
}
@Log4j(access = AccessLevel.PRIVATE) class LoggerLog4jAccessPrivate {
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jAccessPrivate.class);
<clinit>() {
}
LoggerLog4jAccessPrivate() {
super();
}
}
@Log4j(access = AccessLevel.NONE) class LoggerLog4jAccessNone {
LoggerLog4jAccessNone() {
super();
}
}
@@ -0,0 +1,52 @@
import lombok.AccessLevel;
import lombok.extern.slf4j.Slf4j;
@Slf4j(access = AccessLevel.PUBLIC) class LoggerSlf4jAccessPublic {
public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPublic.class);
<clinit>() {
}
LoggerSlf4jAccessPublic() {
super();
}
}
@Slf4j(access = AccessLevel.MODULE) class LoggerSlf4jAccessModule {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessModule.class);
<clinit>() {
}
LoggerSlf4jAccessModule() {
super();
}
}
@Slf4j(access = AccessLevel.PROTECTED) class LoggerSlf4jAccessProtected {
protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessProtected.class);
<clinit>() {
}
LoggerSlf4jAccessProtected() {
super();
}
}
@Slf4j(access = AccessLevel.PACKAGE) class LoggerSlf4jAccessPackage {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPackage.class);
<clinit>() {
}
LoggerSlf4jAccessPackage() {
super();
}
}
@Slf4j(access = AccessLevel.PRIVATE) class LoggerSlf4jAccessPrivate {
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jAccessPrivate.class);
<clinit>() {
}
LoggerSlf4jAccessPrivate() {
super();
}
}
@Slf4j(access = AccessLevel.NONE) class LoggerSlf4jAccessNone {
LoggerSlf4jAccessNone() {
super();
}
}
@@ -0,0 +1,52 @@
import lombok.AccessLevel;
import lombok.extern.slf4j.XSlf4j;
@XSlf4j(access = AccessLevel.PUBLIC) class LoggerXslf4jAccessPublic {
public static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPublic.class);
<clinit>() {
}
LoggerXslf4jAccessPublic() {
super();
}
}
@XSlf4j(access = AccessLevel.MODULE) class LoggerXslf4jAccessModule {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessModule.class);
<clinit>() {
}
LoggerXslf4jAccessModule() {
super();
}
}
@XSlf4j(access = AccessLevel.PROTECTED) class LoggerXslf4jAccessProtected {
protected static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessProtected.class);
<clinit>() {
}
LoggerXslf4jAccessProtected() {
super();
}
}
@XSlf4j(access = AccessLevel.PACKAGE) class LoggerXslf4jAccessPackage {
static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPackage.class);
<clinit>() {
}
LoggerXslf4jAccessPackage() {
super();
}
}
@XSlf4j(access = AccessLevel.PRIVATE) class LoggerXslf4jAccessPrivate {
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXslf4jAccessPrivate.class);
<clinit>() {
}
LoggerXslf4jAccessPrivate() {
super();
}
}
@XSlf4j(access = AccessLevel.NONE) class LoggerXslf4jAccessNone {
LoggerXslf4jAccessNone() {
super();
}
}
@@ -0,0 +1,26 @@
import lombok.AccessLevel;
import lombok.extern.apachecommons.CommonsLog;
@CommonsLog(access = AccessLevel.PUBLIC)
class LoggerCommonsAccessPublic {
}
@CommonsLog(access = AccessLevel.MODULE)
class LoggerCommonsAccessModule {
}
@CommonsLog(access = AccessLevel.PROTECTED)
class LoggerCommonsAccessProtected {
}
@CommonsLog(access = AccessLevel.PACKAGE)
class LoggerCommonsAccessPackage {
}
@CommonsLog(access = AccessLevel.PRIVATE)
class LoggerCommonsAccessPrivate {
}
@CommonsLog(access = AccessLevel.NONE)
class LoggerCommonsAccessNone {
}
@@ -0,0 +1,35 @@
//CONF: lombok.log.custom.declaration = MyLogger MyLoggerFactory.create(TYPE)
import lombok.AccessLevel;
import lombok.CustomLog;
@CustomLog(access = AccessLevel.PUBLIC)
class LoggerCustomAccessPublic {
}
@CustomLog(access = AccessLevel.MODULE)
class LoggerCustomAccessModule {
}
@CustomLog(access = AccessLevel.PROTECTED)
class LoggerCustomAccessProtected {
}
@CustomLog(access = AccessLevel.PACKAGE)
class LoggerCustomAccessPackage {
}
@CustomLog(access = AccessLevel.PRIVATE)
class LoggerCustomAccessPrivate {
}
@CustomLog(access = AccessLevel.NONE)
class LoggerCustomAccessNone {
}
class MyLoggerFactory {
static MyLogger create(Class<?> clazz) {
return null;
}
}
class MyLogger {
}
@@ -0,0 +1,26 @@
import lombok.AccessLevel;
import lombok.extern.flogger.Flogger;
@Flogger(access = AccessLevel.PUBLIC)
class LoggerFloggerAccessPublic {
}
@Flogger(access = AccessLevel.MODULE)
class LoggerFloggerAccessModule {
}
@Flogger(access = AccessLevel.PROTECTED)
class LoggerFloggerAccessProtected {
}
@Flogger(access = AccessLevel.PACKAGE)
class LoggerFloggerAccessPackage {
}
@Flogger(access = AccessLevel.PRIVATE)
class LoggerFloggerAccessPrivate {
}
@Flogger(access = AccessLevel.NONE)
class LoggerFloggerAccessNone {
}
@@ -0,0 +1,26 @@
import lombok.AccessLevel;
import lombok.extern.jbosslog.JBossLog;
@JBossLog(access = AccessLevel.PUBLIC)
class LoggerJBossLogAccessPublic {
}
@JBossLog(access = AccessLevel.MODULE)
class LoggerJBossLogAccessModule {
}
@JBossLog(access = AccessLevel.PROTECTED)
class LoggerJBossLogAccessProtected {
}
@JBossLog(access = AccessLevel.PACKAGE)
class LoggerJBossLogAccessPackage {
}
@JBossLog(access = AccessLevel.PRIVATE)
class LoggerJBossLogAccessPrivate {
}
@JBossLog(access = AccessLevel.NONE)
class LoggerJBossLogAccessNone {
}
@@ -0,0 +1,26 @@
import lombok.AccessLevel;
import lombok.extern.java.Log;
@Log(access = AccessLevel.PUBLIC)
class LoggerJulAccessPublic {
}
@Log(access = AccessLevel.MODULE)
class LoggerJulAccessModule {
}
@Log(access = AccessLevel.PROTECTED)
class LoggerJulAccessProtected {
}
@Log(access = AccessLevel.PACKAGE)
class LoggerJulAccessPackage {
}
@Log(access = AccessLevel.PRIVATE)
class LoggerJulAccessPrivate {
}
@Log(access = AccessLevel.NONE)
class LoggerJulAccessNone {
}
@@ -0,0 +1,26 @@
import lombok.AccessLevel;
import lombok.extern.log4j.Log4j2;
@Log4j2(access = AccessLevel.PUBLIC)
class LoggerLog4j2AccessPublic {
}
@Log4j2(access = AccessLevel.MODULE)
class LoggerLog4j2AccessModule {
}
@Log4j2(access = AccessLevel.PROTECTED)
class LoggerLog4j2AccessProtected {
}
@Log4j2(access = AccessLevel.PACKAGE)
class LoggerLog4j2AccessPackage {
}
@Log4j2(access = AccessLevel.PRIVATE)
class LoggerLog4j2AccessPrivate {
}
@Log4j2(access = AccessLevel.NONE)
class LoggerLog4j2AccessNone {
}
@@ -0,0 +1,26 @@
import lombok.AccessLevel;
import lombok.extern.log4j.Log4j;
@Log4j(access = AccessLevel.PUBLIC)
class LoggerLog4jAccessPublic {
}
@Log4j(access = AccessLevel.MODULE)
class LoggerLog4jAccessModule {
}
@Log4j(access = AccessLevel.PROTECTED)
class LoggerLog4jAccessProtected {
}
@Log4j(access = AccessLevel.PACKAGE)
class LoggerLog4jAccessPackage {
}
@Log4j(access = AccessLevel.PRIVATE)
class LoggerLog4jAccessPrivate {
}
@Log4j(access = AccessLevel.NONE)
class LoggerLog4jAccessNone {
}
@@ -0,0 +1,26 @@
import lombok.AccessLevel;
import lombok.extern.slf4j.Slf4j;
@Slf4j(access = AccessLevel.PUBLIC)
class LoggerSlf4jAccessPublic {
}
@Slf4j(access = AccessLevel.MODULE)
class LoggerSlf4jAccessModule {
}
@Slf4j(access = AccessLevel.PROTECTED)
class LoggerSlf4jAccessProtected {
}
@Slf4j(access = AccessLevel.PACKAGE)
class LoggerSlf4jAccessPackage {
}
@Slf4j(access = AccessLevel.PRIVATE)
class LoggerSlf4jAccessPrivate {
}
@Slf4j(access = AccessLevel.NONE)
class LoggerSlf4jAccessNone {
}
@@ -0,0 +1,26 @@
import lombok.AccessLevel;
import lombok.extern.slf4j.XSlf4j;
@XSlf4j(access = AccessLevel.PUBLIC)
class LoggerXslf4jAccessPublic {
}
@XSlf4j(access = AccessLevel.MODULE)
class LoggerXslf4jAccessModule {
}
@XSlf4j(access = AccessLevel.PROTECTED)
class LoggerXslf4jAccessProtected {
}
@XSlf4j(access = AccessLevel.PACKAGE)
class LoggerXslf4jAccessPackage {
}
@XSlf4j(access = AccessLevel.PRIVATE)
class LoggerXslf4jAccessPrivate {
}
@XSlf4j(access = AccessLevel.NONE)
class LoggerXslf4jAccessNone {
}