org.apache.jasper.util
Class SystemLogHandler

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

public class SystemLogHandler
extends PrintStream

This helper class may be used to do sophisticated redirection of System.out and System.err.

Author:
Remy Maucherat

Field Summary
protected static ThreadLocal data
          Thread <-> ByteArrayOutputStream associations.
protected static ThreadLocal streams
          Thread <-> PrintStream associations.
protected  PrintStream wrapped
          Wrapped PrintStream.
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
SystemLogHandler(PrintStream wrapped)
          Construct the handler to capture the output of the given steam.
 
Method Summary
 boolean checkError()
           
 void close()
           
protected  PrintStream findStream()
          Find PrintStream to which the output must be written to.
 void flush()
           
 PrintStream getWrapped()
           
 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(Object obj)
           
 void print(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(Object x)
           
 void println(String x)
           
protected  void setError()
           
static void setThread()
          Start capturing thread's output.
static String unsetThread()
          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

wrapped

protected PrintStream wrapped
Wrapped PrintStream.


streams

protected static final ThreadLocal streams
Thread <-> PrintStream associations.


data

protected static final ThreadLocal data
Thread <-> ByteArrayOutputStream associations.

Constructor Detail

SystemLogHandler

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

Method Detail

getWrapped

public PrintStream getWrapped()

setThread

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


unsetThread

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


findStream

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


flush

public void flush()
Specified by:
flush in interface Flushable
Overrides:
flush in class PrintStream

close

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

checkError

public boolean checkError()
Overrides:
checkError in class PrintStream

setError

protected void setError()
Overrides:
setError in class PrintStream

write

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

write

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

write

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

print

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

print

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

print

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

print

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

print

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

print

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

print

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

print

public void print(String s)
Overrides:
print in class PrintStream

print

public void print(Object obj)
Overrides:
print in class PrintStream

println

public void println()
Overrides:
println in class PrintStream

println

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

println

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

println

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

println

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

println

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

println

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

println

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

println

public void println(String x)
Overrides:
println in class PrintStream

println

public void println(Object x)
Overrides:
println in class PrintStream


Copyright © 2008 Mort Bay Consulting. All Rights Reserved.