Trace logger calls were adde in limit curve calculator

This commit is contained in:
Evgeny Redikultsev
2024-01-21 21:49:41 +05:00
parent b9f13193af
commit 236c7928a0
35 changed files with 280 additions and 91 deletions

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Loggers
{
public interface ILogger
{
void Fatal(string message);
}
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Loggers
{
public interface ITraceLogger
{
List<ITraceLoggerEntry> TraceLoggerEntries { get; }
void AddMessage(string message, TraceLoggerStatuses status = TraceLoggerStatuses.Info);
}
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Loggers
{
public interface ITraceLoggerEntry
{
DateTime TimeStamp { get;}
int Priority { get; set; }
}
}

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Loggers
{
public class StringLoggerEntry : ITraceLoggerEntry
{
public DateTime TimeStamp { get;}
public string Message { get; set; }
public int Priority { get; set; }
public StringLoggerEntry()
{
TimeStamp = DateTime.Now;
}
}
}

View File

@@ -0,0 +1,57 @@
using StructureHelperCommon.Infrastructures.Exceptions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Loggers
{
public class TraceLogger : ITraceLogger
{
const int fatal = 0;
const int error = 1000;
const int warning = 200;
const int info = 300;
const int service = 400;
const int debug = 500;
public List<ITraceLoggerEntry> TraceLoggerEntries { get; }
public TraceLogger()
{
TraceLoggerEntries = new();
}
public void AddMessage(string message, TraceLoggerStatuses status = TraceLoggerStatuses.Info)
{
TraceLoggerEntries.Add(new StringLoggerEntry()
{
Message = message,
Priority = GetPriorityByStatus(status)
});
}
public void AddMessage(string message, int priority)
{
TraceLoggerEntries.Add(new StringLoggerEntry()
{
Message = message,
Priority = priority
});
}
public static int GetPriorityByStatus(TraceLoggerStatuses status)
{
if (status == TraceLoggerStatuses.Fatal) { return fatal; }
else if (status == TraceLoggerStatuses.Error) { return error; }
else if (status == TraceLoggerStatuses.Warning) { return warning; }
else if (status == TraceLoggerStatuses.Info) { return info; }
else if (status == TraceLoggerStatuses.Service) { return service; }
else if (status == TraceLoggerStatuses.Debug) { return debug; }
else
{
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(status));
}
}
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Loggers
{
public enum TraceLoggerStatuses
{
Fatal,
Error,
Warning,
Info,
Service,
Debug
}
}