From: Dave B. <bla...@us...> - 2012-02-29 04:24:44
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/logging In directory vz-cvs-3.sog:/tmp/cvs-serv23812/src/org/sblim/cimclient/internal/logging Modified Files: Tag: Experimental LogAndTraceBroker.java Log Message: 3489638 - PERF: Bottleneck in LogAndTraceBroker.java - getCaller() Index: LogAndTraceBroker.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/logging/LogAndTraceBroker.java,v retrieving revision 1.10.2.14 retrieving revision 1.10.2.15 diff -u -d -r1.10.2.14 -r1.10.2.15 --- LogAndTraceBroker.java 3 Feb 2012 22:02:24 -0000 1.10.2.14 +++ LogAndTraceBroker.java 29 Feb 2012 04:24:41 -0000 1.10.2.15 @@ -27,6 +27,7 @@ * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues * 3469018 2012-01-03 blaschke-oss Properties not passed to CIMIndicationHandler * 3484014 2012-02-03 blaschke-oss Add LogAndTraceBroker.isLoggable for message/trace + * 3489638 2012-02-28 blaschke-oss PERF: Bottleneck in LogAndTraceBroker.java - getCaller() */ package org.sblim.cimclient.internal.logging; @@ -556,12 +557,13 @@ final String message = MessageLoader.getMessage(pKey); final String localMessage = MessageLoader.getLocalizedMessage(pKey); final Level level = MessageLoader.getLevel(pKey); - final List<TraceListener> traceListeners = getTraceListeners(); - StackTraceElement caller = null; - for (int i = 0; i < traceListeners.size(); ++i) { - caller = caller == null ? getCaller() : caller; - traceListeners.get(i).trace(level, caller, - pKey + " " + MessageFormat.format(message, pParameters)); + if (isLoggableTrace(level)) { + final List<TraceListener> traceListeners = getTraceListeners(); + StackTraceElement caller = getCaller(); + for (int i = 0; i < traceListeners.size(); ++i) { + traceListeners.get(i).trace(level, caller, + pKey + " " + MessageFormat.format(message, pParameters)); + } } final List<LogListener> logListeners = getLogListeners(); for (int i = 0; i < logListeners.size(); ++i) { @@ -583,11 +585,12 @@ */ public void trace(Level pLevel, String pMessage) { try { - final List<TraceListener> traceListeners = getTraceListeners(); - StackTraceElement caller = null; - for (int i = 0; i < traceListeners.size(); ++i) { - caller = caller == null ? getCaller() : caller; - traceListeners.get(i).trace(pLevel, caller, pMessage); + if (isLoggableTrace(pLevel)) { + final List<TraceListener> traceListeners = getTraceListeners(); + StackTraceElement caller = getCaller(); + for (int i = 0; i < traceListeners.size(); ++i) { + traceListeners.get(i).trace(pLevel, caller, pMessage); + } } } catch (Exception e) { // don't crash for logging @@ -607,11 +610,12 @@ */ public void trace(Level pLevel, String pMessage, Throwable pThrown) { try { - final List<TraceListener> traceListeners = getTraceListeners(); - StackTraceElement caller = null; - for (int i = 0; i < traceListeners.size(); ++i) { - caller = caller == null ? getCaller() : caller; - traceListeners.get(i).trace(pLevel, caller, pMessage, pThrown); + if (isLoggableTrace(pLevel)) { + final List<TraceListener> traceListeners = getTraceListeners(); + StackTraceElement caller = getCaller(); + for (int i = 0; i < traceListeners.size(); ++i) { + traceListeners.get(i).trace(pLevel, caller, pMessage, pThrown); + } } } catch (Exception e) { // don't crash for logging |