This includes: appenders, layouts, renderers, filters (and any future ones).
This is usually implemented in the property setter (sometime in activateOptions()). The problem is that the code for checking if something is an integer/boolean/string/whatever, and reporting an error is relatively long (cca 5-10 lines). We do not want to recycle this code for each and every setter.
The proposed solution is to make a base class from which all configurable classes will inherit. This class will provide generic setters which include validation and error reporting.
This is a mockup:
I believe a solution to this issue should be included in 2.2 to complement the new configurator.