org.apache.tomcat.util.log
Class SystemLogHandler

java.lang.Object
  extended byjava.io.OutputStream
      extended byjava.io.FilterOutputStream
          extended byjava.io.PrintStream
              extended byorg.apache.tomcat.util.log.SystemLogHandler

public class SystemLogHandler
extends java.io.PrintStream

This helper class may be used to do sophisticated redirection of System.out and System.err on a per Thread basis. A stack is implemented per Thread so that nested startCapture and stopCapture can be used.

Author:
Remy Maucherat, Glenn L. Nielsen

Field Summary
protected static java.lang.ThreadLocal logs
          Thread <-> CaptureLog associations.
protected  java.io.PrintStream out
          Wrapped PrintStream.
protected static java.util.Stack reuse
          Spare CaptureLog ready for reuse.
 
Constructor Summary
SystemLogHandler(java.io.PrintStream wrapped)
          Construct the handler to capture the output of the given steam.
 
Method Summary
 boolean checkError()
           
 void close()
           
protected  java.io.PrintStream findStream()
          Find PrintStream to which the output must be written to.
 void flush()
           
 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)
           
protected  void setError()
           
static void startCapture()
          Start capturing thread's output.
static java.lang.String stopCapture()
          Stop capturing thread's output and return captured data as a String.
 void write(byte[] b)
           
 void write(byte[] buf, int off, int len)
           
 void write(int b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

out

protected java.io.PrintStream out
Wrapped PrintStream.


logs

protected static java.lang.ThreadLocal logs
Thread <-> CaptureLog associations.


reuse

protected static java.util.Stack reuse
Spare CaptureLog ready for reuse.

Constructor Detail

SystemLogHandler

public SystemLogHandler(java.io.PrintStream wrapped)
Construct the handler to capture the output of the given steam.

Method Detail

startCapture

public static void startCapture()
Start capturing thread's output.


stopCapture

public static java.lang.String stopCapture()
Stop capturing thread's output and return captured data as a String.


findStream

protected java.io.PrintStream findStream()
Find PrintStream to which the output must be written to.


flush

public void flush()

close

public void close()

checkError

public boolean checkError()

setError

protected void setError()

write

public void write(int b)

write

public void write(byte[] b)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(byte[] buf,
                  int off,
                  int len)

print

public void print(boolean b)

print

public void print(char c)

print

public void print(int i)

print

public void print(long l)

print

public void print(float f)

print

public void print(double d)

print

public void print(char[] s)

print

public void print(java.lang.String s)

print

public void print(java.lang.Object obj)

println

public void println()

println

public void println(boolean x)

println

public void println(char x)

println

public void println(int x)

println

public void println(long x)

println

public void println(float x)

println

public void println(double x)

println

public void println(char[] x)

println

public void println(java.lang.String x)

println

public void println(java.lang.Object x)


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.