-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
good first issueIssues that are good for contributors looking to get startedIssues that are good for contributors looking to get startedpluginsAffects the plugin systemAffects the plugin systemwaiting-for-maintainer
Description
As issue #2766 shows, there are still some Log4j plugin builders that don't have setters for all their configuration attributes.
Since field injection becomes more problematic in newer Java version, I believe we should add the missing setters and make sure all new attributes come with a public setter.
Therefore I propose:
- to modify the annotation processor in
2.x
to fail if a plugin builder attribute does not have a public setter (or at least a wither). - fix the compilation errors in
2.x
.
Regarding 3.x
I would prefer to remove field injection completely from log4j-plugins
and use builders and setter injection everywhere. IMHO our DI subsystem does not need to have all the features of a fully-fledged DI.
Obviously we might still need field injection if we want to support all the existing 2.x
plugins, but I would still love a 200 KiB dependency injection system.
Metadata
Metadata
Assignees
Labels
good first issueIssues that are good for contributors looking to get startedIssues that are good for contributors looking to get startedpluginsAffects the plugin systemAffects the plugin systemwaiting-for-maintainer
Type
Projects
Status
To triage