using System; namespace ln.logging { public abstract class LoggingBackend : ILoggingBackend { public LogLevel MinLogLevel { get; set; } = LogLevel.FATAL; public LogLevel MaxLogLevel { get; set; } = LogLevel.MAX; public LoggingBackend() { } public void Message(LogLevel logLevel, string[] lines) { if ((logLevel >= MinLogLevel) && (logLevel <= MaxLogLevel)) MessageReceived(logLevel, lines); } protected abstract void MessageReceived(LogLevel logLevel, String[] lines); public void Log(LogLevel logLevel,String message,params object[] p) { string[] lines = String.Format(message, p).Split('\n', '\r'); Message(logLevel, lines); } } }