| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation and others. |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // which accompanies this distribution, and is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // Contributors: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.common.serviceability; |
| |
| /** |
| * Helper utility for printing debug traces to the console. |
| * |
| * @author Kelvin Low |
| * @since 1.0 |
| */ |
| public class DebugTrace { |
| |
| /** |
| * Prints a debug trace to the console. |
| * |
| * @param instance |
| * a class instance |
| * @param method |
| * a method name |
| * @param msg |
| * a debug message |
| * @param th |
| * a <code>Throwable</code> object |
| */ |
| public static void print(Object instance, String method, String msg, |
| Throwable th) { |
| StringBuffer debugMsg = new StringBuffer(); |
| if (instance != null) { |
| debugMsg.append(instance.getClass().getName()); |
| if (method != null) { |
| debugMsg.append('.').append(method); |
| } |
| debugMsg.append(": "); //$NON-NLS-1$ |
| } |
| if (msg != null && msg.length() > 0) { |
| debugMsg.append(msg); |
| } |
| System.out.println(debugMsg); |
| if (th != null) { |
| th.printStackTrace(); |
| } |
| } |
| |
| /** |
| * Prints a debug trace to the console. |
| * |
| * @param instance |
| * a class instance |
| * @param method |
| * a method name |
| * @param th |
| * a <code>Throwable</code> object |
| */ |
| public static void print(Object instance, String method, Throwable th) { |
| print(instance, method, null, th); |
| } |
| |
| /** |
| * Prints a debug trace to the console. |
| * |
| * @param instance |
| * a class instance |
| * @param method |
| * a method name |
| * @param msg |
| * a debug message |
| */ |
| public static void print(Object instance, String method, String msg) { |
| print(instance, method, msg, null); |
| } |
| |
| /** |
| * Prints a debug trace to the console. |
| * |
| * @param instance |
| * a class instance |
| * @param method |
| * a method name |
| */ |
| public static void print(Object instance, String method) { |
| print(instance, method, null, null); |
| } |
| |
| /** |
| * Prints a debug trace to the console. |
| * |
| * @param th |
| * a <code>Throwable</code> object |
| */ |
| public static void print(Throwable th) { |
| if (th != null) { |
| th.printStackTrace(); |
| } |
| } |
| |
| } |