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.

Reply via email to