I have three separate projects, each with their own embedded logback.xml files. Each of these files includes a common logging config file in the user's home durectory:

<include file="${user_home}/loggingConfig.xml"/>

After the include, I have this specification:

<root level="error">
    <appender-ref ref="${appender:-console}" />
</root>

This allows the user to configure their log levels and appenders, and have them applied by the core logging config file.

For example, in ~/loggingConfig.xml I have this line:

<property name="appender" value="file" />

But co-workers who prefer console logging leave that line out.

The problem is I would like to use different appenders for each log file. In otherwords, I would like to conditionally set a different appender based on which project is reading the customized config file.

I realize I could configure each project to read differently named config files, but I would like to eliminate the clutter and allow for shared configuration as well.

Edit
Report