+ You can annotate any field with @Log to let lombok generate a logger field automatically.
+ The logger is named log and field's type depends on which logger you have selected.
+
+ There are four @Log choices available:
+
@lombok.commons.Logprivate static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(TargetType.class);@lombok.jul.Logprivate static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(TargetType.class.getName());@lombok.log4j.Logprivate static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(TargetType.class);@lombok.slf4j.Logprivate static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TargetType.class);
+ All @Log annotations can take an optional parameter of type Class. If such a parameter is specified, that class will be used as the parameter for the logger factory call.
+
+ If a field called log already exists, a warning will be emitted and no code will be generated.
+
+ Although it is possible to specify any class literal to pass to the logger factory method, passing void.class will be considered to be the same as specifying no parameter.
+
synchronized done right: Don't expose your locks.@SneakyThrows@Log