Are you saying that you are sending the events to one location and want to reconfigure to send them to another location? The only safe way to do that without losing logging events is to reconfigure - i.e. create a new configuration that replaces the prior configuration. To do what you are asking you would have to first create new appenders with different names and add them to the configuration and start them. Then you would have to remove the Appender references from the LoggerConfigs and add the Appender References to the new Appenders. Note that this cannot be done atomically and you WILL lose logging events while it happens. You would then have to remove the old Appenders and stop them.
Because removing and adding appenders like this cannot be done atomically the Log4j team highly discourages doing it. Instead, create a new configuration and swap it. Ralph > On Mar 25, 2020, at 8:05 AM, EDMONDO SENA <edse...@gmail.com> wrote: > > we need only remove all appenders because not necessary in that case. > > > > On 2020/03/25 15:03:26, Matt Sicker <boa...@gmail.com> wrote: >> Take a look at this: >> https://logging.apache.org/log4j/2.x/manual/appenders.html#RoutingAppender >> >> This appender is extremely flexible for that use case. I'd recommend >> avoiding the use of an inline script (JavaScript or Groovy) unless >> absolutely necessary as that's likely the slowest routing mechanism >> (though you could always benchmark that). >> >> On Wed, 25 Mar 2020 at 09:58, EDMONDO SENA <edse...@gmail.com> wrote: >>> >>> >>> 1) Do the external appenders come and go, or do we know ahead of time if >>> they are available? >>> No, come and go! >>> >>> 2) Would a RoutingAppender() that knows if external or internal logging is >>> to be done and then routes messages to the appropriate appender a solution? >>> >>> More or less yes. >>> >>> >>> On 2020/03/25 14:53:08, Doug Wegscheid <dwegsch...@sbcglobal.net> wrote: >>>> ah. a couple of solutions present themself (and hopefully someone more >>>> conversant with log4j4 can chime in). >>>> Would a RoutingAppender() that knows if external or internal logging is to >>>> be done and then routes messages to the appropriate appender a solution? >>>> Do the external appenders come and go, or do we know ahead of time if they >>>> are available? >>>> >>>> >>>> >>>> On Wednesday, March 25, 2020, 10:41:33 AM EDT, EDMONDO SENA >>>> <edse...@gmail.com> wrote: >>>> >>>> In order to disable local logging when the external logging is enabled. >>>> So, remove all local appenders and disable local logging for re-enabling >>>> the delivery towards another system to run-time. >>>> >>>> >>>> On 2020/03/25 14:29:26, Doug Wegscheid <dwegsch...@sbcglobal.net> wrote: >>>>> upon examination, I see that clearAppenders() is not public, so that >>>>> won't work. >>>>> There is probably a way to do what you want, if you can tell us why you >>>>> need to clear the appenders. >>>>> >>>>> On Wednesday, March 25, 2020, 10:23:38 AM EDT, EDMONDO SENA >>>>> <edse...@gmail.com> wrote: >>>>> >>>>> >>>>> Can you explain me how can i do it? >>>>> >>>>> Regards. >>>>> >>>>> >>>>> >>>>> >>>>> On 2020/03/25 14:18:03, Doug Wegscheid <dwegsch...@sbcglobal.net> wrote: >>>>>> you are trying to clear the list of appenderRefs. Are you trying to call >>>>>> clearAppenders() instead of clear()? >>>>>> >>>>>> On Wednesday, March 25, 2020, 10:03:27 AM EDT, EDMONDO SENA >>>>>> <edse...@gmail.com> wrote: >>>>>> >>>>>> >>>>>> Why this instruction goes in UnsupportedOperationException? >>>>>> >>>>>> List<AppenderRef> value = loggerConfig.getAppenderRefs(); >>>>>> value.clear(); >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>>>>> >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>>>> >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>> >> >> >> -- >> Matt Sicker <boa...@gmail.com> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >> For additional commands, e-mail: log4j-user-h...@logging.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org > For additional commands, e-mail: log4j-user-h...@logging.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org