Class LogReader

java.lang.Object
java.io.Reader
java.io.FilterReader
de.intarsys.tools.reader.LogReader
All Implemented Interfaces:
Closeable, AutoCloseable, Readable

public class LogReader extends FilterReader
A reader that logs any char read.

The reader is piped in the reading process, any characters read are written to an associated writer object.

 Client -> LogReader -> Reader -> Source
            |
            v
           Writer
 
todo make closing of associated writer configurable
  • Constructor Details

  • Method Details

    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class FilterReader
      Throws:
      IOException
    • getLog

      public Writer getLog()
    • read

      public int read() throws IOException
      Overrides:
      read in class FilterReader
      Throws:
      IOException
    • read

      public int read(char[] cbuf, int off, int len) throws IOException
      Read characters into a portion of an array. This method will block until some input is available, an I/O error occurs, or the end of the stream is reached.
      Overrides:
      read in class FilterReader
      Parameters:
      cbuf - Destination buffer
      off - Offset at which to start storing characters
      len - Maximum number of characters to read
      Returns:
      The number of characters read, or -1 if the end of the stream has been reached
      Throws:
      IOException - If an I/O error occurs
    • setLog

      public void setLog(Writer newLog)