ln.logging/ln.logging/LoggingBackend.cs

29 lines
801 B
C#

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);
}
}
}