Class SystemLogHandler

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.Appendable, java.lang.AutoCloseable

    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
    • Constructor Summary

      Constructors 
      Constructor Description
      SystemLogHandler​(java.io.PrintStream wrapped)
      Construct the handler to capture the output of the given steam.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      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, clearError, format, format, printf, printf
      • Methods inherited from class java.io.OutputStream

        nullOutputStream
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SystemLogHandler

        public SystemLogHandler​(java.io.PrintStream wrapped)
        Construct the handler to capture the output of the given steam.
        Parameters:
        wrapped - The stream to capture
    • Method Detail

      • startCapture

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

        public static java.lang.String stopCapture()
        Stop capturing thread's output.
        Returns:
        The captured data
      • findStream

        protected java.io.PrintStream findStream()
        Find PrintStream to which the output must be written to.
        Returns:
        the print stream
      • 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.lang.AutoCloseable
        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