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 <ralph.go...@dslextreme.com> 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 <fredrick.eis...@gmail.com> > wrote: > > > > Could construct a new appender and swap it for the old one? > > > > On Wed, Aug 21, 2019 at 8:39 AM Ralph Goers <ralph.go...@dslextreme.com> > > wrote: > > > >> No. The file name is immutable. > >> > >> Ralph > >> > >>> On Aug 21, 2019, at 6:22 AM, Fred Eisele <fredrick.eis...@gmail.com> > >> wrote: > >>> > >>> Given a RollingFileAppender is it possible to > >> dyanamically/programmatically > >>> change its fileName? > >>> > >>> <RollingFile name="X_PLUGIN_FILE" > >>> fileName="x.log}" > >>> filePattern="x_%i.log}" > >>> ignoreExceptions="false"> > >>> <PatternLayout pattern="#linux %file:%method:%line - %msg%n" > >> /> > >>> <OnDemandTriggeringPolicy /> > >>> </RollingFile> > >>> > >>> 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 > >