I still don't understand this. Why can't we have a default appender (console) defined in config.js and set the pattern (based on whether colors is true/false), inside setup function. That's before you add any appender to log4js. You would add the appender only once (after it gets processed - set the pattern).