Now I realize there is one problem with log4j. I have an info level log in my application, but when I set it to error level, the log still print out in SystemOut.log in WebSphere. Asking around the experts and they told me that there is work around on.
In WebSphere console, go to Logging and tracing > server1 > Diagnostic trace service > Change log detail levels > runtime tab. There is existing log in that look like this:
this is the info log which belong to WebSphere, if it were disabled, SystemOut.log will be very clean. This is how I disable my info log configuration by append it to the existing one like this:
*=info: ConnLeakLogic=finest : org.huahsin.*=off
So whatever shit and rubbish belonging to org.huahsin package will be filter out.