Hello, Started working on replacing JsonLayout with LogstashLayout. I have noticed that @PluginAttributeBuilder is deprecated in favor of @PluginAttribute. I am not equipped with the sufficient background on this decision's justification, but what I can tell is I find @PluginAttribute unpleasant to work with due to following reasons:
- Now I have a ctor with dozens of parameters that *must* be passed in tests. Builders were indicating the context as well: builder.setFooEnabled(true).setBarEnabled(false). Now that is all gone: new FooLayout(..., true, true, false, false, true, ...). - I cannot pass dynamic defaults, that is, @PluginAttribute(defaultString = TimeZone.getDefault().getID()) is not possible. - I need to silence the formatter: @formatter:off. Would anybody mind explaining me what is the big win, please? Am I missing something? Best regards.
