using System;
namespace IPA.Logging
{
///
/// The log printer's base class.
///
public abstract class LogPrinter
{
///
/// Provides a filter for which log levels to allow through.
///
/// the level to filter to
public abstract Logger.LogLevel Filter { get; set; }
///
/// Prints a provided message from a given log at the specified time.
///
/// the log level
/// the time the message was composed
/// the name of the log that created this message
/// the message
public abstract void Print(Logger.Level level, DateTime time, string logName, string message);
///
/// Called before the first print in a group. May be called multiple times.
/// Use this to create file handles and the like.
///
public virtual void StartPrint() { }
///
/// Called after the last print in a group. May be called multiple times.
/// Use this to dispose file handles and the like.
///
public virtual void EndPrint() { }
internal DateTime LastUse { get; set; }
}
}