Apache Tomcat 6.0.43

org.apache.tomcat.util.log
Class SystemLogHandler

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.io.PrintStream
              extended by org.apache.tomcat.util.log.SystemLogHandler
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable

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.io.PrintStream
append, append, append, format, format, printf, printf
 
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()
Specified by:
flush in interface java.io.Flushable
Overrides:
flush in class java.io.PrintStream

close

public void close()
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.PrintStream

checkError

public boolean checkError()
Overrides:
checkError in class java.io.PrintStream

setError

protected void setError()
Overrides:
setError in class java.io.PrintStream

write

public void write(int b)
Overrides:
write in class java.io.PrintStream

write

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

write

public void write(byte[] buf,
                  int off,
                  int len)
Overrides:
write in class java.io.PrintStream

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

Apache Tomcat 6.0.43

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