Are you using a BufferingForwardingAppender
? By default, it makes some very CPU intense calls for every logging statement. This pitfall is not documented.
The short answer is that, when you configure your BufferingForwardingAppender, you need to configure it so it doesn't do expensive things like get a stack trace. (You probably aren't logging the things it's collecting, anyway!)
There's a very good explanation of how to fix this at http://stackoverflow.com/a/11351400https://stackoverflow.com/a/11351400
Reconfiguring my BufferingForwardingAppender
made a major CPU improvement!