Re: Changing the Attributes on a RollingAppender

2019-11-01 Thread Fred Eisele
I had not seen the RoutingAppender.
It looks like it will do the trick.
Thanks

On 2019/08/22 13:19:59, "Carter Kozak"  wrote:
> Have you considered using a routing appender[1]? It can write to a
specific file based on jvm system properties, thread context (MDC), or any
other pattern parameter.>
>
> 1.
https://logging.apache.org/log4j/2.x/manual/appenders.html#RoutingAppender>


Re: Changing the Attributes on a RollingAppender

2019-08-22 Thread Carter Kozak
Have you considered using a routing appender[1]? It can write to a specific 
file based on jvm system properties, thread context (MDC), or any other pattern 
parameter.

1. https://logging.apache.org/log4j/2.x/manual/appenders.html#RoutingAppender

On Thu, Aug 22, 2019, at 08:49, Fred Eisele wrote:
> I have an acceptable solution.
> I use the appender-manager and change the filePattern via
>  this.appendManager.setPatternProcessor( new PatternProcessor(
> filePattern, this.appendManager.getPatternProcessor() ) );
> Similarly (using a custom strategy) I change the base fileName.
> Of course the appender object does not reflect these changes but it suits
> my needs.
> 
> On Wed, Aug 21, 2019 at 1:27 PM Ralph Goers 
> wrote:
> 
> > You can’t atomically swap an appender. If you remove it and then add a new
> > one with the same name you will lose log events targeted at the appender
> > while it is removed. You could add a new appender with a different name and
> > then modify all the loggers using the old one to use the new one, but Log4j
> > won’t do that for you.
> >
> > What problem are you trying to solve? Log4j might already have a
> > different way of supporting it.
> >
> 
> I need to be able to change the log fileName and filePattern associated
> with a specific RollingAppender from my running application plugin.
> Is there a way to get an appender directly by name?
> 
> 
> > Ralph
> >
> > > On Aug 21, 2019, at 10:44 AM, Fred Eisele 
> > wrote:
> > >
> > > Could construct a new appender and swap it for the old one?
> > >
> > > On Wed, Aug 21, 2019 at 8:39 AM Ralph Goers 
> > > wrote:
> > >
> > >> No. The file name is immutable.
> > >>
> > >> Ralph
> > >>
> > >>> On Aug 21, 2019, at 6:22 AM, Fred Eisele 
> > >> wrote:
> > >>>
> > >>> Given a RollingFileAppender is it possible to
> > >> dyanamically/programmatically
> > >>> change its fileName?
> > >>>
> > >>>  > >>> fileName="x.log}"
> > >>> filePattern="x_%i.log}"
> > >>> ignoreExceptions="false">
> > >>>  > >> />
> > >>> 
> > >>> 
> > >>>
> > >>> I need to be able to change the log file from my running application
> > >> plugin.
> > >>
> > >>
> > >>
> > >> -
> > >> 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
> >
> >
> 


Re: Changing the Attributes on a RollingAppender

2019-08-22 Thread Fred Eisele
I have an acceptable solution.
I use the appender-manager and change the filePattern via
this.appendManager.setPatternProcessor( new PatternProcessor(
filePattern, this.appendManager.getPatternProcessor() ) );
Similarly (using a custom strategy) I change the base fileName.
Of course the appender object does not reflect these changes but it suits
my needs.

On Wed, Aug 21, 2019 at 1:27 PM Ralph Goers 
wrote:

> You can’t atomically swap an appender. If you remove it and then add a new
> one with the same name you will lose log events targeted at the appender
> while it is removed. You could add a new appender with a different name and
> then modify all the loggers using the old one to use the new one, but Log4j
> won’t do that for you.
>
> What problem are you trying to solve?  Log4j might already have a
> different way of supporting it.
>

I need to be able to change the log fileName and filePattern associated
with a specific RollingAppender from my running application plugin.
Is there a way to get an appender directly by name?


> Ralph
>
> > On Aug 21, 2019, at 10:44 AM, Fred Eisele 
> wrote:
> >
> > Could construct a new appender and swap it for the old one?
> >
> > On Wed, Aug 21, 2019 at 8:39 AM Ralph Goers 
> > wrote:
> >
> >> No. The file name is immutable.
> >>
> >> Ralph
> >>
> >>> On Aug 21, 2019, at 6:22 AM, Fred Eisele 
> >> wrote:
> >>>
> >>> Given a RollingFileAppender is it possible to
> >> dyanamically/programmatically
> >>> change its fileName?
> >>>
> >>>>>>fileName="x.log}"
> >>>filePattern="x_%i.log}"
> >>>ignoreExceptions="false">
> >>>>> />
> >>>   
> >>>   
> >>>
> >>> I need to be able to change the log file from my running application
> >> plugin.
> >>
> >>
> >>
> >> -
> >> 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
>
>


Re: Changing the Attributes on a RollingAppender

2019-08-21 Thread Ralph Goers
You can’t atomically swap an appender. If you remove it and then add a new one 
with the same name you will lose log events targeted at the appender while it 
is removed. You could add a new appender with a different name and then modify 
all the loggers using the old one to use the new one, but Log4j won’t do that 
for you.

What problem are you trying to solve?  Log4j might already have a different way 
of supporting it.

Ralph

> On Aug 21, 2019, at 10:44 AM, Fred Eisele  wrote:
> 
> Could construct a new appender and swap it for the old one?
> 
> On Wed, Aug 21, 2019 at 8:39 AM Ralph Goers 
> wrote:
> 
>> No. The file name is immutable.
>> 
>> Ralph
>> 
>>> On Aug 21, 2019, at 6:22 AM, Fred Eisele 
>> wrote:
>>> 
>>> Given a RollingFileAppender is it possible to
>> dyanamically/programmatically
>>> change its fileName?
>>> 
>>>   >>fileName="x.log}"
>>>filePattern="x_%i.log}"
>>>ignoreExceptions="false">
>>>   > />
>>>   
>>>   
>>> 
>>> I need to be able to change the log file from my running application
>> plugin.
>> 
>> 
>> 
>> -
>> 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



Re: Changing the Attributes on a RollingAppender

2019-08-21 Thread Fred Eisele
Could construct a new appender and swap it for the old one?

On Wed, Aug 21, 2019 at 8:39 AM Ralph Goers 
wrote:

> No. The file name is immutable.
>
> Ralph
>
> > On Aug 21, 2019, at 6:22 AM, Fred Eisele 
> wrote:
> >
> > Given a RollingFileAppender is it possible to
> dyanamically/programmatically
> > change its fileName?
> >
> > > fileName="x.log}"
> > filePattern="x_%i.log}"
> > ignoreExceptions="false">
> > />
> >
> >
> >
> > I need to be able to change the log file from my running application
> plugin.
>
>
>
> -
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>
>


Re: Changing the Attributes on a RollingAppender

2019-08-21 Thread Ralph Goers
No. The file name is immutable.

Ralph

> On Aug 21, 2019, at 6:22 AM, Fred Eisele  wrote:
> 
> Given a RollingFileAppender is it possible to dyanamically/programmatically
> change its fileName?
> 
> fileName="x.log}"
> filePattern="x_%i.log}"
> ignoreExceptions="false">
>
>
>
> 
> I need to be able to change the log file from my running application plugin.



-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org