We have a modular application where modules have their own log4j logs (i.e. communication log and error log). The appenders and categories for these are all configured in the core log4j XML, but not all modules are always installed.
The DailyRollingFileAppender creates its file regardless of use and that exposes the full set of modules although not present and as some of them are customer specific we’d like to hide logs not in use.
Is there a way to make DailyRollingFileAppender create its file on first use instead of automatically at startup?
We have a modular application where modules have their own log4j logs (i.e. communication
Share
The file appenders have no option to lazily create the log files – the
setFilemethod automatically creates the file if it doesn’t already exist:ostream = new FileOutputStream(fileName, append);You’ll have to extend the appender and overwrite the file initialisation code yourself to get the behaviour you’re after.