Log4j Stack Trace Pruning
Anyone who has ever worked with third-party Java frameworks such as Spring and OSGi can testify to how much these frameworks bloat the logged stack traces. When debugging, the last thing you want is to waste valuable energy and brain power, no matter how little, on scanning through dozens of stack frames for the relevant ones. When frameworks such as Spring and OSGi are involved, it's usually the case that less than 5-10% of the stack frames are actually relevant (see screenshots below). After dealing with this for years, I finally decided to extend log4j and prune out the superfluous stack frames. We thought this might be useful for others as well, so we've open sourced the code on GitHub. Feel free to drop a line and let us know if you find it beneficial.
Stack Trace (before): [caption id="attachment_16" align="alignleft" width="150" caption="before"][/caption] [caption id="attachment_19" align="alignleft" width="150" caption="before (cont.)"][/caption]
Stack Trace (after): [caption id="attachment_21" align="alignleft" width="150" caption="after"][/caption]