On Wed, 22 Oct 2008 04:43:04 -0700 (PDT)
 Chris Kimball <[EMAIL PROTECTED]> wrote:

I'm using a DOMConfigurator successfully in a jar-bundled, cross platform
app.

But the configuration file is currently a resource within the bundle,
unmodifiable by a user.

I'd like to copy the configuration file out once the app gets started and
the app knows where to place files, so that the user can set his own warning
levels, etc.

1. How do I start the app then have the app take it's configuration file
from an internally calculated area?


What do you mean by "Internally calculated area".  Internally calculated by the application?  Internally calculated by the user?  Other?

Users can specify the config file by setting...

-Dlog4j.configuration=file:/path/to/log4j.xml

There is really no need to manually configure log4j.  And I really discourage placing the log4j config file in your application and any manual configuration facility should be user-specified, not library specified.  Logging is a user-concern, not a library writer concern.  If users want logging, they can always place a log4j.properties or log4j.xml file in the classpath and they'll get their logging.  You can provide a suggested config file separately, but don't load it yourself.  That's the user's domain.

2. How do I specify an output file on a cross platform basis?  If I define
the output log file as "log.txt", what directory does it turn up in under
various systems?


You can specify a Java system property, such as "log.home" and reference it as...

log4j.appender.MYAppender.File=${log.home}/logs/log.txt

The user can set this value by adding -Dlog.home=/path/to/logdir


Jake

Chris Kimball
--
View this message in context: http://www.nabble.com/Start-up-configuration-tp20108988p20108988.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]

Reply via email to