ec.util
Class Log

java.lang.Object
  |
  +--ec.util.Log
All Implemented Interfaces:
java.io.Serializable

public class Log
extends java.lang.Object
implements java.io.Serializable

Defines a log to which Output outputs. A log consists of three items:

  1. A PrintWriter which prints out messages.
  2. A verbosity -- if a message is printed with a verbosity lower than this, then the message will not be printed.
  3. A flag which indicates whether or not to filter out (refuse to print) announcements (usually error messages and warnings).
Logs can be restarted after a computer outage by using the information stored in the LogRestarter restarter.

See Also:
Serialized Form

Field Summary
 boolean appendOnRestart
          If the log writes to a file, should it append to the file on restart, or should it overwrite the file?
static int D_STDERR
          Specifies that the log should write to stderr (System.err)
static int D_STDOUT
          Specifies that the log should write to stdout (System.out)
 java.io.File filename
          A filename, if the writer writes to a file
 boolean postAnnouncements
          Should the log post announcements?
 boolean repostAnnouncementsOnRestart
          Should the log repost all announcements on restart
 LogRestarter restarter
          The log's restarter
 int verbosity
          The log's verbosity.
 java.io.PrintWriter writer
          The log's writer
 
Constructor Summary
Log(java.io.File _filename, int _verbosity, boolean _postAnnouncements, boolean _appendOnRestart)
          Creates a log to a given filename; this file may or may not be appended to on restart, depending on _appendOnRestart.
Log(int descriptor, int _verbosity, boolean _postAnnouncements)
          Creates a log on stdout (descriptor == Log.D_STDOUT) or stderr (descriptor == Log.D_STDERR).
Log(java.io.Writer _writer, LogRestarter _restarter, int _verbosity, boolean _postAnnouncements, boolean _repostAnnouncementsOnRestart)
          Creates a log on a given Writer and custom LogRestarter.
 
Method Summary
 Log reopen()
          Forces a file-based log to reopen, erasing its previous contents.
 Log restart()
          Restarts a log after a system restart from checkpoint.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

writer

public transient java.io.PrintWriter writer
The log's writer

filename

public java.io.File filename
A filename, if the writer writes to a file

verbosity

public int verbosity
The log's verbosity.

postAnnouncements

public boolean postAnnouncements
Should the log post announcements?

restarter

public LogRestarter restarter
The log's restarter

repostAnnouncementsOnRestart

public boolean repostAnnouncementsOnRestart
Should the log repost all announcements on restart

appendOnRestart

public boolean appendOnRestart
If the log writes to a file, should it append to the file on restart, or should it overwrite the file?

D_STDOUT

public static final int D_STDOUT
Specifies that the log should write to stdout (System.out)

D_STDERR

public static final int D_STDERR
Specifies that the log should write to stderr (System.err)
Constructor Detail

Log

public Log(java.io.File _filename,
           int _verbosity,
           boolean _postAnnouncements,
           boolean _appendOnRestart)
    throws java.io.IOException
Creates a log to a given filename; this file may or may not be appended to on restart, depending on _appendOnRestart. If and only if the file is not appended to on restart, then announcements are reposted on restart.

Log

public Log(int descriptor,
           int _verbosity,
           boolean _postAnnouncements)
Creates a log on stdout (descriptor == Log.D_STDOUT) or stderr (descriptor == Log.D_STDERR).

Log

public Log(java.io.Writer _writer,
           LogRestarter _restarter,
           int _verbosity,
           boolean _postAnnouncements,
           boolean _repostAnnouncementsOnRestart)
Creates a log on a given Writer and custom LogRestarter. In general, You should not use this to write to a file. Use Log(_filename... instead.
Method Detail

restart

public Log restart()
            throws java.io.IOException
Restarts a log after a system restart from checkpoint. Returns the restarted log -- note that it may not be the same log!

reopen

public Log reopen()
           throws java.io.IOException
Forces a file-based log to reopen, erasing its previous contents. non-file logs ignore this.