If you choose to do extensive logging in your application – there are few common options to choose
1. Set up JMS and post the log message to the message queue.
Pro: Clean JEE implementation
Con: JMS setup overhead
2. Use log4j asynchronous logging
Pro: Easy to use, just a configuration in the log4j xml
Con: Creates a thread and I know some app server administrators don’t like the idea of applications creating threads