If you don’t want to log anything then enable a noop appender that just returns without doing anything
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 >> >>