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