ln.logging/Logger.cs

51 lines
1.1 KiB
C#
Raw Normal View History

2018-05-01 20:28:08 +02:00
using System;
using System.Diagnostics;
namespace sharp.logging
{
public abstract class Logger
{
public static Logger DefaultLogger { get; set; } = new ConsoleLogger();
public Logger()
{
}
public void Log(LogLevel level,string message, params object[] args)
{
Log(level,String.Format(message, args));
}
public void Log(string message,params object[] args){
Log(LogLevel.INFO,String.Format(message, args));
}
public void Log(string message)
{
Log(LogLevel.INFO, message);
}
public void Log(LogLevel level,string message)
{
string[] lines = message.Split('\n');
lines[0] = String.Format("{0} [{1}] [ {3,-10} ] {2}",
DateTime.Now.ToLocalTime(),
Process.GetCurrentProcess().Id,
lines[0],
level.ToString()
);
for (int n = 1; n < lines.Length; n++){
lines[n] = " " + lines[n];
}
WriteEntry( lines );
}
public abstract void WriteEntry(string[] entry);
public virtual void Close()
{
}
}
}