If I am understanding you correctly, all I have to do is write a new class that implements StrLookup and annotate it with @Plugin?
On Mon, Apr 14, 2014 at 2:01 PM, Ralph Goers <[email protected]>wrote: > The Interpolator class manages variables. During configuration you can > currently use the system properties, environment variables, thread context, > date and jndi lookups. In addition, if you are running in a web container > the web lookup is also used. You can programmatically add variables to any > one of these and they will be picked up by Log4j 2. In addition, any > custom lookups you may add will be added to the list of available lookups > and can be used in the configuration once the configuration element has > completed processing its attributes and so can be used in all the “normal” > configuration elements. > > Ralph > > On Apr 14, 2014, at 10:35 AM, Paul Benedict <[email protected]> wrote: > > No, but I am not sure this what I am looking for either. I am looking for > the programmatic injection of properties; I can't accomplish this using a > declarative approach. I want a class to be called by log4j at startup. > > > On Mon, Apr 14, 2014 at 12:15 PM, Ralph Goers > <[email protected]>wrote: > >> Have you looked at >> http://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution >> ? >> >> Ralph >> >> >> On Apr 14, 2014, at 9:32 AM, Paul Benedict <[email protected]> wrote: >> >> Asking the developers here... >> >> One thing I would like to accomplish is to use the same log4j config file >> for different appservers. Unfortunately, each appserver has a different >> logging root variable (${catalina.home} = Tomcat, ${jboss.server.log.dir} = >> JBoss, etc.). >> >> One way to solve this is to make sure all variable names are extracted >> from a map. For example, JEE provides an ELResolver that provides an >> interface to get the variable values. >> >> If log4j had such an interface (does it?), then it would be possible to >> allow a pre-processor to run before parsing the configuration file and >> insert new variables as appropriate. In my example, I would probably inject >> a "logRoot" variable and set to it the appropriate location based on what >> kind of appeserver is running. >> >> What do you guys think? >> >> >> [1] http://docs.oracle.com/javaee/5/api/javax/el/ELResolver.html >> >> -- >> Cheers, >> Paul >> >> >> > > > -- > Cheers, > Paul > > > -- Cheers, Paul
