Or make sure it’s logging level causes it to never log

Sent from my iPhone

> On Sep 15, 2018, at 12:34 PM, Gary Gregory <garydgreg...@gmail.com> wrote:
> 
> On Sat, Sep 15, 2018 at 3:24 PM Ralph Goers <ralph.go...@dslextreme.com>
> wrote:
> 
>> We have an appended selector for this. Why not us it?
>> 
> 
> Hi,
> 
> Because:
> - Conceptually, I am not selecting an appender out of a set, I want the one
> appender enabled or disabled.
> - In practice, using a ScriptAppenderSelector with a single Appender means
> my script would have to 'select' a non-existing appender when the script
> evaluates to false, which would work BUT would emit an ERROR log event to
> the status logger like "No node named DISABLE_ME in
> NameOfScriptAppenderSelector". This would be a normal configuration, so an
> ERROR would be very bad for our users. Changing the level of event would
> not help, unless it was buried at the DEBUG level, which is not good for
> the current use cases.
> - Alternatively, we could have add a NoOpAppender which I would then select
> when I want the file appender disabled. This would imply accepting the
> added costs, no matter how minor in memory and speed.
> 
> Thoughts?
> 
> Gary
> 
> 
>> 
>> Sent from my iPhone
>> 
>>> On Sep 15, 2018, at 11:07 AM, Gary Gregory <garydgreg...@gmail.com>
>> wrote:
>>> 
>>> Hi All:
>>> 
>>> At work, we have an installer program that installs one of five log4j
>>> configs depending on what the user selects in a UI. Each of these 5
>> configs
>>> causes log events to end up in different kinds of SQL and NoSQL
>> databases,
>>> you pick one when you install. The installer does a brute force search
>> and
>>> replace in the log4j file to replace markers with things like database IP
>>> addresses and port numbers. So far so simple and good.
>>> 
>>> The next iteration of the installer provides an additional choice to log
>> to
>>> a file or not, in addition of one of the 5 databases.
>>> 
>>> Option 1?
>>> In order to avoid having 5x2 preset config files in the installer, I'd
>> like
>>> to add the file config to each of the existing 5 configurations and have
>>> the file appender enabled or not based on a boolean flag that the
>> installer
>>> can implement as part of its search and replace. You'd end up with:
>>> 
>>> <AppenderRef ref="foo" enabled="true|false" />
>>> <AppenderFoo enabled="true|false" />
>>> 
>>> If an appender is disabled it does not end up in the Log4j object tree at
>>> all. It is like it never existed in the config file.
>>> 
>>> Option 2?
>>> Add a second log4j2.xml, say log4j2-rollingfile.xml config file and have
>>> Log4j combine it with the other log4j.xml on the class path. How?
>>> 
>>> Other options?
>>> 
>>> Thank you,
>>> Gary
>> 
>> 


Reply via email to