package comp314.interfaces; import java.io.IOException; /** Interface for logging classes. * * @author David Goodwin, Daniel Buchanan */ public interface ILogger { /** The log entries severity level. * */ public enum Severity {Notice, Debug, Warning, Error, Failure}; /** Opens the log file for input. * @param filename The output file for logging. */ void open(String filename) throws IOException; /** Closes any open log files. */ void close() throws IOException; /** Writes a message to the log file using the Notice severity. * @param message The message to write to the log file. */ void writeLine(String message); /** Writes an entry to the log file using the specified severity. This can * throw exceptions * @param sv Log entry severity * @param message Log message */ void writeLineE(Severity sv, String message) throws IOException; /** Performs the same job as WriteLineE except does not throw any exceptions. * * @param sv Severity Level * @param message Log Message */ void writeLine(Severity sv, String message); /** Returns the String representation of the specified Severity Level. This * is the String representation used by the log output. * @param sv The severity level * @return The string representation of the given Severity Level. */ String svToString(Severity sv); }