Loggin WIP

This commit is contained in:
Ádám Kovács
2022-11-02 11:31:32 +01:00
parent 642c30d1ce
commit 5c2214fa50
16 changed files with 166 additions and 39 deletions

View File

@@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,10 @@
namespace Alma.Logging;
public interface ILogger<T>
{
LogLevel DefaultLogLevel { get; }
void LogInformation(string logMessage);
void LogDebug(string logMessage);
void LogTrace(string logMessage);
void Log(string logMessage, LogLevel logLevel);
}

View File

@@ -0,0 +1,7 @@
namespace Alma.Logging;
public interface ILoggerFactory
{
ILogger<T> CreateLogger<T>();
LogLevel DefaultLogLevel { get; }
}

View File

@@ -0,0 +1,8 @@
namespace Alma.Logging;
public enum LogLevel
{
Information,
Debug,
Trace
}

View File

@@ -0,0 +1,25 @@
namespace Alma.Logging;
public class Logger<T> : ILogger<T>
{
public LogLevel DefaultLogLevel { get; }
public Logger(LogLevel defaultLogLevel)
{
DefaultLogLevel = defaultLogLevel;
}
public void LogInformation(string s) => Log(s, LogLevel.Information);
public void LogDebug(string s) => Log(s, LogLevel.Debug);
public void LogTrace(string s) => Log(s, LogLevel.Trace);
public void Log(string s, LogLevel logLevel)
{
if (logLevel <= DefaultLogLevel)
{
Console.WriteLine(s);
}
}
}

View File

@@ -0,0 +1,16 @@
namespace Alma.Logging;
public class LoggerFactory : ILoggerFactory
{
public LogLevel DefaultLogLevel { get; }
public LoggerFactory(LogLevel defaultLogLevel = LogLevel.Information)
{
DefaultLogLevel = defaultLogLevel;
}
public ILogger<T> CreateLogger<T>()
{
return new Logger<T>(DefaultLogLevel);
}
}