It could be a problem with log4j2 not loading your custom plugin correctly.
It looks like you are building with maven.
Does the jar file generated by your build contain
a META-INF/org/apache/logging/log4j/core/config/plugins/Log4j2Plugins.dat
file?
If it doesn't you could try specifying the package "net.openhft.chronicle.
logger.log4j2" in the packages attribute of your log4j2.xml configuration.


What happens if you keep it simple and use this config (snippet):
 <BinaryVanillaChronicle
    name="CONF-BINARY-VANILLA-CHRONICLE"
    path="${sys:java.io.tmpdir}/chronology-log4j2/conf-binary-
vanilla-chronicle"
    formatMessage="false"
    includeCallerData="false"
    includeMappedDiagnosticContext="false"
/>

and leave out the nested <chronicleConfig> for now - I assume your plugin
will use some reasonable default here.
I want to use the simplest config possible first to just check if the
plugin is loaded correctly.




On Thu, Aug 28, 2014 at 7:13 PM, lb <lburgazz...@gmail.com> 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?
>

Reply via email to