1 Reply Latest reply on Sep 23, 2008 8:55 AM by Adrian Brock

    Excessive logging in AS 4.2.3 and AS 5

    Jay Balunas Master

      Hey guys,

      Not 100% if this is the right forum for this - there was not a "Design of AS" ;-)

      While doing some performance testing for Seam I noticed that the default logging for AS 4.2.3 and AS 5.0 CR2 was set to debug, Note that console logging is limited to info so this only shows in the log.

      This causes huge performance issues and exposes the user to way too much information. I have discussed this on the EAP side in JBPAPP-1187. They fixed it to some degree, but it still needs some work.

      This is basically what I'm seeing

      Starting 4.2.3 - 1.2 mb - with app
      Starting 5.0 CR2 - 1.3 mb - with no app

      A few requests with one user and seam app creates MBs of logs.

      From my testing performance hit was huge. The average went from 14 sec to 4 sec with 50 users and 25 requests each when I switched the threshold for the log file to info. The server.log file size (with a few requests) was only 97kb compared to the 1.2 above with just starting the server. That test was with 4.2.3 not 5.0.

      Is there a reason that the logging is set this way? My opinion is that we should give the user the best initial performance, and concise information.

      Thoughts?

      Thanks,
      Jay Balunas



        • 1. Re: Excessive logging in AS 4.2.3 and AS 5
          Adrian Brock Master

          Yes, there are many categories that are over verbose when it comes to logging.

          We log at DEBUG by default because it is just too painful to get users
          to turn it on.

          But then DEBUG should only be lifecycle calls (i.e. deployment time logging
          and low volume logging such as thread or database connection creation)
          not high volume runtime logging which should be TRACE

          Anyway, for production usage its not rocket science to change
          conf/jboss-log4j.xml

           <root>
           <priority value ="INFO" />