mirror of
https://github.com/Ellpeck/ExtremelySimpleLogger.git
synced 2024-11-21 17:53:28 +01:00
basic implementation
This commit is contained in:
parent
d2aa2e1b32
commit
4617ef5a00
3 changed files with 34 additions and 1 deletions
|
@ -2,6 +2,8 @@
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtremelySimpleLogger", "ExtremelySimpleLogger\ExtremelySimpleLogger.csproj", "{D323F21E-8DE7-46DB-8E34-E4739876F6CB}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtremelySimpleLogger", "ExtremelySimpleLogger\ExtremelySimpleLogger.csproj", "{D323F21E-8DE7-46DB-8E34-E4739876F6CB}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sample", "Sample\Sample.csproj", "{50C64522-C1E8-495D-9E9B-3B6A21551D3B}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
@ -12,5 +14,9 @@ Global
|
||||||
{D323F21E-8DE7-46DB-8E34-E4739876F6CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{D323F21E-8DE7-46DB-8E34-E4739876F6CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{D323F21E-8DE7-46DB-8E34-E4739876F6CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{D323F21E-8DE7-46DB-8E34-E4739876F6CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{D323F21E-8DE7-46DB-8E34-E4739876F6CB}.Release|Any CPU.Build.0 = Release|Any CPU
|
{D323F21E-8DE7-46DB-8E34-E4739876F6CB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{50C64522-C1E8-495D-9E9B-3B6A21551D3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{50C64522-C1E8-495D-9E9B-3B6A21551D3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{50C64522-C1E8-495D-9E9B-3B6A21551D3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{50C64522-C1E8-495D-9E9B-3B6A21551D3B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,7 +1,33 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace ExtremelySimpleLogger {
|
namespace ExtremelySimpleLogger {
|
||||||
public class Logger {
|
public class Logger {
|
||||||
|
|
||||||
|
public List<Sink> Sinks { get; set; } = new List<Sink>();
|
||||||
|
public LogLevel MinimumLevel { get; set; } = LogLevel.Trace;
|
||||||
|
public bool IsEnabled { get; set; } = true;
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
public Logger(string name = "") {
|
||||||
|
this.Name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Log(LogLevel level, object message, Exception e = null) {
|
||||||
|
if (!this.IsEnabled || level < this.MinimumLevel)
|
||||||
|
return;
|
||||||
|
foreach (var sink in this.Sinks) {
|
||||||
|
if (level >= sink.MinimumLevel)
|
||||||
|
sink.Log(this, level, message, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Trace(object message) => this.Log(LogLevel.Trace, message);
|
||||||
|
public void Debug(object message) => this.Log(LogLevel.Debug, message);
|
||||||
|
public void Info(object message) => this.Log(LogLevel.Info, message);
|
||||||
|
public void Warn(object message, Exception e = null) => this.Log(LogLevel.Warn, message, e);
|
||||||
|
public void Error(object message, Exception e = null) => this.Log(LogLevel.Error, message, e);
|
||||||
|
public void Fatal(object message, Exception e = null) => this.Log(LogLevel.Fatal, message, e);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue