001: /*
002: * @(#) TraceTimer.java
003: *
004: * JOTM: Java Open Transaction Manager
005: *
006: *
007: * This module was originally developed by
008: *
009: * - Bull S.A. as part of the JOnAS application server code released in
010: * July 1999 (www.bull.com)
011: *
012: * --------------------------------------------------------------------------
013: * The original code and portions created by Bull SA are
014: * Copyright (c) 1999 BULL SA
015: * All rights reserved.
016: *
017: * Redistribution and use in source and binary forms, with or without
018: * modification, are permitted provided that the following conditions are met:
019: *
020: * -Redistributions of source code must retain the above copyright notice, this
021: * list of conditions and the following disclaimer.
022: *
023: * -Redistributions in binary form must reproduce the above copyright notice,
024: * this list of conditions and the following disclaimer in the documentation
025: * and/or other materials provided with the distribution.
026: *
027: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
028: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
029: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
030: * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
031: * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
032: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
033: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
034: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
035: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
036: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
037: * POSSIBILITY OF SUCH DAMAGE.
038: *
039: * --------------------------------------------------------------------------
040: * $Id: TraceTimer.java,v 1.1 2004/01/23 20:42:19 tonyortiz Exp $
041: * --------------------------------------------------------------------------
042: */
043: package org.objectweb.jotm;
044:
045: import java.io.PrintWriter;
046:
047: /**
048: * Traces for module timer
049: * @author Sebastien Chassande-Barrioz sebastien.chassande@inrialpes.fr
050: */
051: public class TraceTimer {
052:
053: static public boolean isDebug = false; // if the timer is logged
054: static public boolean isVerbose = false; // if we print the verbose message
055: static public PrintWriter logWriter = null; // our log writer
056:
057: /**
058: * set the debug timer
059: */
060: static public void setDebug(boolean set) {
061: isDebug = set;
062: }
063:
064: /**
065: * set the verbose flag
066: */
067: static public void setVerbose(boolean set) {
068: isVerbose = set;
069: }
070:
071: /**
072: * set the log writer
073: */
074: static public void setLogWriter(PrintWriter log) {
075: logWriter = log;
076: }
077:
078: /**
079: * print the verbose message if the logger is not null
080: */
081: static public void verbose(String msg) {
082: if ((isVerbose) && (logWriter != null))
083: logWriter.println(msg);
084: }
085:
086: /**
087: * print the debug timer message if the logger is not null
088: */
089: static public void debug(String msg) {
090: if ((isDebug) && (logWriter != null))
091: logWriter.println(msg);
092: }
093:
094: /**
095: * print the error message if the logger is not null
096: */
097: static public void error(String msg) {
098: if (logWriter != null)
099: logWriter.println(msg);
100: }
101:
102: /**
103: * print the throwing message if the logger is not null
104: */
105: static public void error(String msg, Throwable th) {
106: if (logWriter != null) {
107: logWriter.println(msg);
108: th.printStackTrace(logWriter);
109: }
110: }
111:
112: }
|