#nullable enable 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; } } }