public class LogPrintStream
extends java.io.PrintStream
PrintStream
interface to a
LogPage
.
Note: Because of internationalization issues,
it is strongly recommended that LogPrintWriter
be used
whenever possible instead of LogPrintStream
to
prevent characters from being corrupted when displayed.
Constructor and Description |
---|
LogPrintStream(LogPage logPage)
Note: Because of internationalization issues,
it is strongly recommended that
LogPrintWriter be used
whenever possible instead of LogPrintStream to
prevent characters from being corrupted when displayed. |
Modifier and Type | Method and Description |
---|---|
LogPage |
getLogPage()
Directly returns the underlying
LogPage for this
LogPrintStream . |
LogPage |
getWrappedLogPage()
The need for a wrapped
LogPage instance arises from
the fact that:
A typical LogPage implementation uses a thread
to forward messages to the UI components (to avoid
deadlocks in the IDE caused by the automatic showing of the
log window or changing log pages in the log window),
and
Each LogPrintStream uses a thread to forward
messages to the underlying LogPage . |
append, append, append, checkError, clearError, close, flush, format, format, print, print, print, print, print, print, print, print, print, printf, printf, println, println, println, println, println, println, println, println, println, println, setError, write, write
public LogPrintStream(LogPage logPage)
LogPrintWriter
be used
whenever possible instead of LogPrintStream
to
prevent characters from being corrupted when displayed.
Constructs a LogPrintStream
that is wired into the
specified LogPage
.
If the PrintStream.close()
method is called, the thread that is
forwarding messages to the LogPage
will be
terminated. This disconnects the LogPrintStream
from the LogPage
.
Note that the close()
method will be called
automatically when the LogPrintStream
is garbage
collected, so an explicit call to close()
is not
required.
If creation of a pipe to the specified LogPage
fails for some reason, the LogPrintStream
will
be configured to forward all messages to System.out
instead.
public LogPage getLogPage()
LogPage
for this
LogPrintStream
.public LogPage getWrappedLogPage()
LogPage
instance arises from
the fact that:
LogPage
implementation uses a thread
to forward messages to the UI components (to avoid
deadlocks in the IDE caused by the automatic showing of the
log window or changing log pages in the log window),
and
LogPrintStream
uses a thread to forward
messages to the underlying LogPage
.
LogPage
and a corresponding
LogPrintStream
instance can lead to an undesirable
reordering of messages. In order to preserve the temporal
ordering of messages, all messages must be queued through the
same LogPrintStream
instance. The wrapped
instance of LogPage
returned by this method is
there configured to delegate logging to this
LogPrintStream
instance.
The main disadvantage of using getWrappedLogPage()
is that the returned LogPage
cannot be downcast
to a specific LogPage
implementation to use special
implementation-specific APIs.