Module ij
Package ij.io

Class LogStream

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

    public class LogStream
    extends java.io.PrintStream
    This class provides the functionality to divert output sent to the System.out and System.err streams to ImageJ's log console. The purpose is to allow use of existing Java classes or writing new generic Java classes that only output to System.out and are thus less dependent on ImageJ. See the ImageJ plugin Redirect_System_Streams at http://staff.fh-hagenberg.at/burger/imagej/ for usage examples.
    Author:
    Wilhelm Burger (wilbur at ieee.org) See Also: Redirect_System_Streams (http://staff.fh-hagenberg.at/burger/imagej/)
    • Field Summary

      • Fields inherited from class java.io.FilterOutputStream

        out
    • Constructor Summary

      Constructors 
      Constructor Description
      LogStream()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      void flush()  
      static java.io.PrintStream getCurrentErrStream()
      Returns the redirection stream for System.err if it exists.
      static java.io.PrintStream getCurrentOutStream()
      Returns the redirection stream for System.out if it exists.
      static void redirectSystem()
      Redirects all output sent to System.out and System.err to ImageJ's log console using the default prefixes.
      static void redirectSystem​(boolean redirect)
      Redirects all output sent to System.out and System.err to ImageJ's log console using the default prefixes.
      static void redirectSystemErr​(java.lang.String prefix)
      Redirects all output sent to System.err to ImageJ's log console.
      static void redirectSystemOut​(java.lang.String prefix)
      Redirects all output sent to System.out to ImageJ's log console.
      static void revertSystem()
      Use this method to revert both System.out and System.err to their original output streams.
      static void revertSystemErr()
      Use this method to revertSystem.err to the original output stream.
      static void revertSystemOut()
      Use this method to revertSystem.out to the original output stream.
      void write​(byte[] b)  
      void write​(byte[] b, int off, int len)  
      void write​(int b)  
      • Methods inherited from class java.io.PrintStream

        append, append, append, checkError, clearError, format, format, print, print, print, print, print, print, print, print, print, printf, printf, println, println, println, println, println, println, println, println, println, println, setError
      • 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

      • LogStream

        public LogStream()
    • Method Detail

      • redirectSystem

        public static void redirectSystem​(boolean redirect)
        Redirects all output sent to System.out and System.err to ImageJ's log console using the default prefixes.
      • redirectSystem

        public static void redirectSystem()
        Redirects all output sent to System.out and System.err to ImageJ's log console using the default prefixes. Alternatively use redirectSystemOut(String) and redirectSystemErr(String) to redirect the streams separately and to specify individual prefixes.
      • redirectSystemOut

        public static void redirectSystemOut​(java.lang.String prefix)
        Redirects all output sent to System.out to ImageJ's log console.
        Parameters:
        prefix - The prefix string inserted at the start of each output line. Pass null to use the default prefix or an empty string to remove the prefix.
      • redirectSystemErr

        public static void redirectSystemErr​(java.lang.String prefix)
        Redirects all output sent to System.err to ImageJ's log console.
        Parameters:
        prefix - The prefix string inserted at the start of each output line. Pass null to use the default prefix or an empty string to remove the prefix.
      • getCurrentOutStream

        public static java.io.PrintStream getCurrentOutStream()
        Returns the redirection stream for System.out if it exists. Note that a reference to the current output stream can also be obtained directly from the System.out field.
        Returns:
        A reference to the PrintStream object currently substituting System.out or null of if System.out is currently not redirected.
      • getCurrentErrStream

        public static java.io.PrintStream getCurrentErrStream()
        Returns the redirection stream for System.err if it exists. Note that a reference to the current output stream can also be obtained directly from the System.err field.
        Returns:
        A reference to the PrintStream object currently substituting System.err or null of if System.err is currently not redirected.
      • revertSystem

        public static void revertSystem()
        Use this method to revert both System.out and System.err to their original output streams.
      • revertSystemOut

        public static void revertSystemOut()
        Use this method to revertSystem.out to the original output stream.
      • revertSystemErr

        public static void revertSystemErr()
        Use this method to revertSystem.err to the original output stream.
      • write

        public void write​(byte[] b)
        Overrides:
        write in class java.io.FilterOutputStream
      • write

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

        public void write​(int b)
        Overrides:
        write in class java.io.PrintStream
      • 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