Bug 778690 (SOA-1158)

Summary: log4j performance tuning in production config.
Product: [JBoss] JBoss Enterprise SOA Platform 4 Reporter: Martin Vecera <mvecera>
Component: ConfigurationAssignee: Julian Coleman <jcoleman>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 4.3 GA   
Target Milestone: ---   
Target Release: 4.3 CP01, 4.2 CP04   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-1158
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 778691 (view as bug list) Environment:
Last Closed: 2009-02-20 16:52:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Martin Vecera 2009-02-03 14:25:07 UTC
Affects: Compatibility/Configuration
Date of First Response: 2009-02-05 09:53:24
project_key: SOA

Even though log4j is configured to log only INFO level in file appender in production configuration, internally it sends all levels' logging to the appender. Code blocks in if (log.isDebugEnabled()) { ... } are still being executed. This results in every message having stack trace in it:
 (message.getBody().add(setPayloadLocation + "-set-stack", new Exception("setPayload stack trace for '" + setPayloadLocation + "'."));

To avoid this, setting a category for org.jboss.soa, or even for org.jboss is useful. I suggest:
  <category name="org.jboss">
     <priority value="INFO" />
   </category>
which brings 7% performance gain.

Comment 1 Julian Coleman 2009-02-05 14:53:24 UTC
Fixed in revisions 2612 (trunk), 2613 (4.2.0 branch) and 2614 (4.3 branch) of:
  build-tools/resource/conf-skeleton/jboss-log4j-production.xml

Commit message:
  Uncomment INFO priority for org.jboss category.  Fixes JIRA SOA-1158.


Comment 2 Dana Mison 2009-02-19 04:55:14 UTC
Release Note
SOA-1158
The performance of log4j in the production server configuration has been improved.  The default configuration now only sends those log messages of priority INFO or higher to the log appender instead of sending all messages.  

Comment 3 Len DiMaggio 2009-02-20 16:52:30 UTC
Verified fixed in 4.3CP01 CR2 - embedded server, production profile:

   <!-- Limit JBoss categories -->
   <category name="org.jboss">
      <priority value="INFO"/>
   </category>