Dynamic Appenders
Each logger object has several methods that you can use in order to interact with the logger's appenders. You can add, remove, clear or list the appenders on a specific logger instance. Below are the methods you can use in the logger class to interact with appenders:
Method
Return Type
Description
hasAppenders()
Boolean
Checks if the logger has any appenders attached to it
getAppenders()
Struct
Returns the map of registered appenders
getAppender(name)
Appender
Return a named appender if it is registered in the logger
appenderExists(name)
Boolean
Checks if a named appender exists in the logger
addAppender(Appender)
void
Register an appender with the logger at runtime
removeAppender(name)
Boolean
Will un-register an appender from this logger
removeAllAppenders()
void
Will try to un-register all appenders from this logger
So you can easily add/remove/check the appenders on any logger at any time.
1
//Add your own appender at runtime
2
jms = createObject( "component", "com.appender.JMSAppender" ).init( "JMSAppender", properties );
3
logger.addAppender( jms );
4
5
//log a message to all appenders and to my jms appender:
6
logger.fatal( "I FAILED MAN!" );
7
8
//remove it
9
logger.removeAppender( "JMSAppender" );
Copied!
Copy link
Edit on GitHub