Alright. That would mean you need to use @PluginAliases if you want to support other element names besides the plugin name. The JMS Appender is actually using that right now in the master branch.
On 6 September 2014 07:26, lb <lburgazz...@gmail.com> wrote: > I did a test but if the @PluginElement does not match @Plugin it fails > with: > > 2014-09-06 14:22:26,335 ERROR BinaryVanillaChronicle contains an invalid > element or attribute "chronicleConfig" > 2014-09-06 14:22:26,341 ERROR TextVanillaChronicle contains an invalid > element or attribute "chronicleConfig" > 2014-09-06 14:22:26,344 ERROR BinaryIndexedChronicle contains an invalid > element or attribute "chronicleConfig" > 2014-09-06 14:22:26,348 ERROR TextIndexedChronicle contains an invalid > element or attribute "chronicleConfig" > > > On Sun, Aug 31, 2014 at 8:33 PM, Matt Sicker <boa...@gmail.com> wrote: > > > I think you can use different values for @PluginElement than you do for > > @Plugin which helps in the XML/JSON format. I'd have to look into this > > more. > > > > > > On 31 August 2014 10:23, lb <lburgazz...@gmail.com> wrote: > > > > > I think you should explicit state that every @PluginElement should be a > > > "Plugin" then it is clear. As consequence, there is a little problem > as > > > you can't have two nested elements with the same name, i.e. > > > > > > <AppenderA> > > > <Configuration> > > > .... > > > </Configuration> > > > </AppenderA> > > > > > > <AppenderB> > > > <Configuration> > > > .... > > > </Configuration> > > > </AppenderB> > > > > > > Assume that AppenderA and AppenderB are two different appender and they > > > need a specific configuration object (AppenderA.Configuration.class != > > > AppenderB.Configuration.class). I would love to use Configuration for > > both > > > appenders but I can't as the name is set by @Plugin and > @PluginElement, > > am > > > I wrong? > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 30, 2014 at 9:03 PM, Matt Sicker <boa...@gmail.com> wrote: > > > > > > > Good to hear it! Is there anything about the documentation you found > > > > unclear in that regard? > > > > > > > > > > > > On 30 August 2014 01:44, lb <lburgazz...@gmail.com> wrote: > > > > > > > > > Yes that was the problem, I forgot to mark it as plugin. Now it > > works, > > > > > thank you > > > > > > > > > > On Friday, August 29, 2014, Matt Sicker <boa...@gmail.com> wrote: > > > > > > > > > > > Is VanillaLogAppenderConfig also marked as a @Plugin and > > everything? > > > > > > > > > > > > > > > > > > On 28 August 2014 05:13, lb <lburgazz...@gmail.com > <javascript:;>> > > > > > wrote: > > > > > > > > > > > > > I'm writing a custom appender and I have a problem setting up > > > > > > > PluginElement: > > > > > > > > > > > > > > The xml definition is the following one: > > > > > > > > > > > > > > <BinaryVanillaChronicle name="CONF-BINARY-VANILLA-CHRONICLE"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <path>${sys:java.io.tmpdir}/chronology-log4j2/conf-binary-vanilla-chronicle</path> > > > > > > > <formatMessage>false</formatMessage> > > > > > > > <includeCallerData>false</includeCallerData> > > > > > > > > > > > > > > > > <includeMappedDiagnosticContext>false</includeMappedDiagnosticContext> > > > > > > > <chronicleConfig> > > > > > > > <dataCacheCapacity>128</dataCacheCapacity> > > > > > > > </chronicleConfig> > > > > > > > </BinaryVanillaChronicle> > > > > > > > > > > > > > > And the PluginFactory method is: > > > > > > > @PluginFactory > > > > > > > public static BinaryVanillaChronicleAppender createAppender( > > > > > > > @PluginAttribute("name") final String name, > > > > > > > @PluginAttribute("path") final String path, > > > > > > > @PluginAttribute("formatMessage") final String > formatMessage, > > > > > > > @PluginAttribute("includeCallerData") final String > > > > > includeCallerData, > > > > > > > @PluginAttribute("includeMappedDiagnosticContext") final > > String > > > > > > > includeMappedDiagnosticContext, > > > > > > > @PluginElement("chronicleConfig") final > > > VanillaLogAppenderConfig > > > > > > > chronicleConfig, > > > > > > > @PluginElement("filters") final Filter filter) > > > > > > > > > > > > > > When I run it, I have the following messages: > > > > > > > 2014-08-28 12:12:29,247 ERROR appenders contains an invalid > > element > > > > or > > > > > > > attribute "BinaryVanillaChronicle" > > > > > > > 2014-08-28 12:12:29,267 ERROR Unable to locate appender > > > > > > > BINARY-VANILLA-CHRONICLE for logger binary-vanilla-chronicle > > > > > > > 2014-08-28 12:12:29,268 ERROR Unable to locate appender > > > > > > > BINARY-VANILLA-CHRONICLE-FMT for logger > > > binary-vanilla-chronicle-fmt > > > > > > > 2014-08-28 12:12:29,268 ERROR Unable to locate appender > > > > > > > PERF-BINARY-VANILLA-CHRONICLE for logger > > > > perf-binary-vanilla-chronicle > > > > > > > > > > > > > > The full code is on > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/lburgazzoli/Chronicle-Logger/tree/HFT-CLOG-12/logger-log4j-2 > > > > > > > > > > > > > > What's wrong with my setup? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Matt Sicker <boa...@gmail.com <javascript:;>> > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Matt Sicker <boa...@gmail.com> > > > > > > > > > > > > > > > -- > > Matt Sicker <boa...@gmail.com> > > > -- Matt Sicker <boa...@gmail.com>