## org.apache.jasper.util
Class SystemLogHandler

    java.lang.Object
      java.io.OutputStream
          java.io.FilterOutputStream
              java.io.PrintStream
                  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.