package com.loadimpact.util; import java.io.BufferedOutputStream; import java.io.FileDescriptor; import java.io.FileOutputStream; import java.io.PrintStream; import java.util.Date; /** * Simple console logger. * * @author jens */ public class Debug { private final String prefix; private static boolean enabled = false; static { FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out); BufferedOutputStream buffer = new BufferedOutputStream(fdOut, 10000); PrintStream logStream = new PrintStream(buffer, false); System.setOut(logStream); } public Debug(String prefix) { this.prefix = prefix; } public Debug(Class cls) { this(cls.getSimpleName()); } public Debug(Object obj) { this(obj.getClass()); } public Debug print(String msg) { if (enabled) { String logtxt = String.format("*** [%2$s] %1$tF %1$tT%4$s*** %3$s%n", new Date(), prefix, msg, System.getProperty("line.separator")); System.out.print(logtxt); System.out.flush(); } return this; } public Debug print(String msg, Object... args) { return print(String.format(msg, args)); } public static void setEnabled(boolean enabled) { Debug.enabled = enabled; } }