That's an interesting approach. But it quite specific. In my world we have 
dozens of programs each with their own logback.xml file. Host, user or 
environment does't matter. 

What we do is put the logback.xml in a java package. Then at application 
startup we find the current main package, check logback.xml exist at that 
location and if so sets logback.configurationFile system property. 

Of course that suits us, but not others. Perhaps there is a more general 
approach?

How about this:
- at startup logback checks the logback.configurationFile sys prop. 
- if it contains any ${variables} replace them like would be done inside 
logback.xml itself. 
- continue startup

With this approach you could emulate the lift approach just by setting one 
system property. 

Optional improvements:
- include env vars as well as sys props
- allow defaults to be specified like this ${variable:default}
 
How does that sound?

David

On 11 Apr 2011, at 15:00, Urs Peter <[email protected]> wrote:

> Hi all,
> 
> Recently I was reinventing once more a strategy to deal with different
> logging configurations based on environment. Logback offers a rather
> rigid approach by means of the -test naming scheme, which provides me
> with two options for logging configuration: one for real and one for
> test. For my usage, I'm looking for a richer naming scheme.
> 
> Since I recently did some stuff with lift where they - in my eyes -
> found an elegant way to tackle this problem, I thought it might be
> handy to port this to logback. What lift does is the following: They
> use a naming scheme, which combines a run mode, and/or current user
> and/or host. Their convention looks as follows:
> 
>> modeName.userName.hostName.props
>> 
>> examples:
>> jack.aserver.props
>> test.jack.aserver.props
>> production.aserver.props
>> staging.jack.props
>> test.default.props
>> default.props
> 
> 
> The run mode (test/production/staging etc.) is nothing else than an
> JVM argument (-Drun.mode=test). The current user is related to the
> user.name default JVM argument.
> 
> What do you guys think, would this be an interesting feature?
> 
> Cheers Urs
> _______________________________________________
> Logback-user mailing list
> [email protected]
> http://qos.ch/mailman/listinfo/logback-user
_______________________________________________
Logback-user mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-user

Reply via email to