01: /*
02: * Copyright 2005-2006 The Kuali Foundation.
03: *
04: *
05: * Licensed under the Educational Community License, Version 1.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.opensource.org/licenses/ecl1.php
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package edu.iu.uis.eden.util;
18:
19: /**
20: * Records and logs performance information about an elapsed time period.
21: *
22: * @author ewestfal
23: */
24: public class PerformanceLogger {
25:
26: private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger
27: .getLogger(PerformanceLogger.class);
28: private long startTime;
29: private Long routeHeaderId;
30:
31: public PerformanceLogger() {
32: recordStartTime();
33: }
34:
35: public PerformanceLogger(Long routeHeaderId) {
36: this ();
37: this .routeHeaderId = routeHeaderId;
38: }
39:
40: private void recordStartTime() {
41: this .startTime = System.currentTimeMillis();
42: }
43:
44: public void log(String message) {
45: log(message, false);
46: }
47:
48: public void log(String message, boolean terminalPoint) {
49: long endTime = System.currentTimeMillis();
50: long totalTime = endTime - startTime;
51: String logMessage = "Time: " + totalTime + " ms, ";
52: if (routeHeaderId != null) {
53: logMessage += "docId=" + routeHeaderId + ", ";
54: }
55: logMessage += message;
56: if (terminalPoint) {
57: logMessage += "\n";
58: }
59: LOG.info(logMessage);
60: }
61:
62: }
|