21 lines
		
	
	
		
			525 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			525 B
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
 | 
						|
namespace Engine.Core.Debug;
 | 
						|
 | 
						|
public abstract class LoggerBase : ILogger
 | 
						|
{
 | 
						|
    public ILogger.Level FilterLevel { get; set; } = ILogger.Level.Trace;
 | 
						|
 | 
						|
    public void Log(string message, ILogger.Level level = ILogger.Level.Info, bool force = false)
 | 
						|
    {
 | 
						|
        if (!force && level < FilterLevel)
 | 
						|
            return;
 | 
						|
 | 
						|
        string timestamp = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt");
 | 
						|
 | 
						|
        Write($"[{timestamp}] [{level}] \t{message}");
 | 
						|
    }
 | 
						|
 | 
						|
    protected abstract void Write(string message);
 | 
						|
}
 |