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

Reply via email to