Package ij.io
Class LogStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.PrintStream
ij.io.LogStream
- All Implemented Interfaces:
Closeable
,Flushable
,Appendable
,AutoCloseable
public class LogStream extends 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
-
Constructor Summary
Constructors Constructor Description LogStream()
-
Method Summary
Modifier and Type Method Description void
close()
void
flush()
static PrintStream
getCurrentErrStream()
Returns the redirection stream forSystem.err
if it exists.static PrintStream
getCurrentOutStream()
Returns the redirection stream forSystem.out
if it exists.static void
redirectSystem()
Redirects all output sent toSystem.out
andSystem.err
to ImageJ's log console using the default prefixes.static void
redirectSystem(boolean redirect)
Redirects all output sent toSystem.out
andSystem.err
to ImageJ's log console using the default prefixes.static void
redirectSystemErr(String prefix)
Redirects all output sent toSystem.err
to ImageJ's log console.static void
redirectSystemOut(String prefix)
Redirects all output sent toSystem.out
to ImageJ's log console.static void
revertSystem()
Use this method to revert bothSystem.out
andSystem.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)
-
Constructor Details
-
LogStream
public LogStream()
-
-
Method Details
-
redirectSystem
public static void redirectSystem(boolean redirect)Redirects all output sent toSystem.out
andSystem.err
to ImageJ's log console using the default prefixes. -
redirectSystem
public static void redirectSystem()Redirects all output sent toSystem.out
andSystem.err
to ImageJ's log console using the default prefixes. Alternatively useredirectSystemOut(String)
andredirectSystemErr(String)
to redirect the streams separately and to specify individual prefixes. -
redirectSystemOut
Redirects all output sent toSystem.out
to ImageJ's log console.- Parameters:
prefix
- The prefix string inserted at the start of each output line. Passnull
to use the default prefix or an empty string to remove the prefix.
-
redirectSystemErr
Redirects all output sent toSystem.err
to ImageJ's log console.- Parameters:
prefix
- The prefix string inserted at the start of each output line. Passnull
to use the default prefix or an empty string to remove the prefix.
-
getCurrentOutStream
Returns the redirection stream forSystem.out
if it exists. Note that a reference to the current output stream can also be obtained directly from theSystem.out
field.- Returns:
- A reference to the
PrintStream
object currently substitutingSystem.out
ornull
of ifSystem.out
is currently not redirected.
-
getCurrentErrStream
Returns the redirection stream forSystem.err
if it exists. Note that a reference to the current output stream can also be obtained directly from theSystem.err
field.- Returns:
- A reference to the
PrintStream
object currently substitutingSystem.err
ornull
of ifSystem.err
is currently not redirected.
-
revertSystem
public static void revertSystem()Use this method to revert bothSystem.out
andSystem.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 classFilterOutputStream
-
write
public void write(byte[] b, int off, int len)- Overrides:
write
in classPrintStream
-
write
public void write(int b)- Overrides:
write
in classPrintStream
-
flush
public void flush()- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classPrintStream
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classPrintStream
-