On Thu, Feb 14, 2008 at 3:13 PM, James A. N. Stauffer <
[EMAIL PROTECTED]> wrote:

> In an XML config, system properties can be used like ${catalina.base}.
>


Hello James,

Great to hear that system properties are resolved, but what about
passing in a plain java.util.Properties file so that I can supply parameters
at runtime.

Using system properties woud not work for me because I want different a
value for this placeholder
per webapp (the log4j config file is shared though), and on tomcat system
property values are shared between webapps.
(well, it would probably work as long as these webapps are not
simultaneously configuring log4j ...)

I've seen a package-scoped props field in the DomConfigurator but I could
not find where it's being assigned.

This is my current work-around:

package org.apache.log4j.xml;
public class PropertyDomConfigurator {
  /**
   * configure log4j from an xml file, resolving ant style placeholders from
the given Properties object
   * @param url URL to the xml config
   * @param properties used for resolving placeholders
   */
  public static void configure(final URL url, Properties properties) {
    DOMConfigurator configurator = new DOMConfigurator();
    configurator.props = new Properties(properties);
    configurator.doConfigure(url, LogManager.getLoggerRepository());
  }
}

What do you think about adding this method to DOMConfigurator ?

Maarten



>
> On Wed, Feb 13, 2008 at 5:23 PM, osubb <[EMAIL PROTECTED]> wrote:
> >
> >  I am pretty new to log4j and have a question that should be easy.  I am
> using
> >  log4j in a web (java servlets) environment.
> >
> >  1)  How do I pass in variables?  I have an app that uses the
> JDBCAppender
> >  and would like to pass in the connection values.  Is there an easy way
> to do
> >  this?  These values could be different for each client that access the
> >  Servlet(s).  Is there a pattern for this type of scenario?
> >
> >  At this point, I have to hardcode the URL, user, and password values in
> the
> >  log4j.xml file.  I tried using MDC, but this seems to work in the
> >  "ConversionPattern" param for log files and the "sql" param name for
> the
> >  JDBCAppender.  It does not work for the "URL", "user", and "password"
> param
> >  values (does not change to MDC value).
> >
> >  Any help would be appreciated,
> >  osubb
> >  --
> >  View this message in context:
> http://www.nabble.com/dynamic-variables-parameters-tp15470530p15470530.html
> >  Sent from the Log4j - Users mailing list archive at Nabble.com.
> >
> >
> >  ---------------------------------------------------------------------
> >  To unsubscribe, e-mail: [EMAIL PROTECTED]
> >  For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
>
> --
> James A. N. Stauffer http://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to