logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clément Guillaume <cguilla...@hotpads.com>
Subject Re: Custom ConfigurationFactory not loaded
Date Fri, 01 Aug 2014 17:05:15 GMT
The fact is that the method getSupportedTypes() is never called ! (It's
return a custom extension: ".myorg")
I'm using 2.0. And even a call to
PluginManager.addPackage(“com.myorg.mypackage”)
doesn't works.

Clément


On Thu, Jul 31, 2014 at 10:31 PM, Ralph Goers <ralph.goers@dslextreme.com>
wrote:

> It also occurs to me that the plugin manager may not be finding the
> plugin.  If you are using 2.0 then I believe the annotation processor
> should register the factory as a plugin automatically. If you are using an
> older release you might have been required to call
> PluginManager.addPackage(“com.myorg.mypackage”) to have the plugin manager
> search for your plugin.
>
> Ralph
>
> On Jul 31, 2014, at 10:26 PM, Ralph Goers <ralph.goers@dslextreme.com>
> wrote:
>
> > Your annotations are correct. However, in the code snippet below you
> don’t show what getSupportedTypes() returns. The generic
> ConfigurationFactory inspects all the ConfigurationFactory plugins using
> the order to determine which should be inspected first, second, etc.  It
> calls getSupportedTypes to find out what file extensions the
> ConfigurationFactory handles. If the provided configuration file matches
> one of the file extensions than that factory will be used.  “*” is used as
> a wildcard to specify that it handles any file extension (which is what the
> XMLConfigurationFactory does).  However, with an Order of 10 if you
> specified a “*” I believe your factory would have to handle XML, JSON and
> YAML configurations.
> >
> > I would suggest having getSupportedTypes return something like “.cfg”
> and then having your configuration files end with .cfg.
> >
> > Ralph
> >
> > On Jul 31, 2014, at 6:18 PM, Clément Guillaume <cguillaume@hotpads.com>
> wrote:
> >
> >> Hi,
> >>
> >> I'm trying to use a custom ConfigurationFactory. I created and
> annotated it
> >> with a @Plugin and an @Order like this:
> >>
> >> @Plugin(category = "ConfigurationFactory", name =
> >> "StartupConfigurationFactory")
> >> @Order(10)
> >> public class StartupConfigurationFactory extends ConfigurationFactory{
> >> ...
> >> }
> >>
> >> But it is never loaded (none of the 2 methods are called).
> >>
> >> If I specify the system property "log4j.configurationFactory" with the
> name
> >> of my class before creating a logger, my factory is successfully loaded.
> >>
> >> Did I made a mistake declaring my ConfigurationFactory ?
> >>
> >> Clément
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message