mavis.util
Class LoggerPrintStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.io.PrintStream
              extended by mavis.util.LoggerPrintStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable

public class LoggerPrintStream
extends java.io.PrintStream

PrintStream for directing the output to another PrintStream and a OutputStream. Can be used for printing System.err to screen and to a log file. Writes timestamps for each printed line.


Field Summary
private  java.text.DateFormat dateFormat
           
private  boolean lineStart
           
private  java.io.PrintStream screen
           
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
LoggerPrintStream(java.io.OutputStream out)
          Creates a timestamped print stream directed to one output.
LoggerPrintStream(java.io.OutputStream out, java.io.PrintStream screen)
          Creates a timestamped print stream directed to two outputs.
LoggerPrintStream(java.io.OutputStream out, java.io.PrintStream screen, java.lang.String message)
          Creates a timestamped print stream directed to two outputs with a startup message.
 
Method Summary
 void print(boolean b)
           
 void print(char c)
           
 void print(char[] s)
           
 void print(double d)
           
 void print(float f)
           
 void print(int i)
           
 void print(long l)
           
 void print(java.lang.Object obj)
           
 void print(java.lang.String s)
           
 void println()
           
 void println(boolean x)
           
 void println(char x)
           
 void println(char[] x)
           
 void println(double x)
           
 void println(float x)
           
 void println(int x)
           
 void println(long x)
           
 void println(java.lang.Object x)
           
 void println(java.lang.String x)
           
private  void timestamp()
           
 
Methods inherited from class java.io.PrintStream
append, append, append, checkError, close, flush, format, format, printf, printf, setError, write, write
 
Methods inherited from class java.io.FilterOutputStream
write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dateFormat

private java.text.DateFormat dateFormat

lineStart

private boolean lineStart

screen

private java.io.PrintStream screen
Constructor Detail

LoggerPrintStream

public LoggerPrintStream(java.io.OutputStream out)
Creates a timestamped print stream directed to one output.

Parameters:
out - an OutputStream to direct all output with timestamps.

LoggerPrintStream

public LoggerPrintStream(java.io.OutputStream out,
                         java.io.PrintStream screen)
Creates a timestamped print stream directed to two outputs.

Parameters:
out - an OutputStream to direct all output with timestamps.
screen - a PrintStream to direct all output with timestamps. Will be ignored if null.

LoggerPrintStream

public LoggerPrintStream(java.io.OutputStream out,
                         java.io.PrintStream screen,
                         java.lang.String message)
Creates a timestamped print stream directed to two outputs with a startup message.

Parameters:
out - an OutputStream to direct all output with timestamps.
screen - a PrintStream to direct all output with timestamps. Will be ignored if null.
message - a message to be printed at the creaton of this print stream. This will not be timestamped. Will be ignored if null.
Method Detail

timestamp

private void timestamp()

print

public void print(boolean b)
Overrides:
print in class java.io.PrintStream

print

public void print(char c)
Overrides:
print in class java.io.PrintStream

print

public void print(int i)
Overrides:
print in class java.io.PrintStream

print

public void print(long l)
Overrides:
print in class java.io.PrintStream

print

public void print(float f)
Overrides:
print in class java.io.PrintStream

print

public void print(double d)
Overrides:
print in class java.io.PrintStream

print

public void print(char[] s)
Overrides:
print in class java.io.PrintStream

print

public void print(java.lang.String s)
Overrides:
print in class java.io.PrintStream

print

public void print(java.lang.Object obj)
Overrides:
print in class java.io.PrintStream

println

public void println()
Overrides:
println in class java.io.PrintStream

println

public void println(boolean x)
Overrides:
println in class java.io.PrintStream

println

public void println(char x)
Overrides:
println in class java.io.PrintStream

println

public void println(int x)
Overrides:
println in class java.io.PrintStream

println

public void println(long x)
Overrides:
println in class java.io.PrintStream

println

public void println(float x)
Overrides:
println in class java.io.PrintStream

println

public void println(double x)
Overrides:
println in class java.io.PrintStream

println

public void println(char[] x)
Overrides:
println in class java.io.PrintStream

println

public void println(java.lang.String x)
Overrides:
println in class java.io.PrintStream

println

public void println(java.lang.Object x)
Overrides:
println in class java.io.PrintStream