Compare commits

..

No commits in common. "d6356451ac7826881f518b27739ce6e9c9860a22" and "5b2044a160da4c8ecb1744ae1c668a90d47f5486" have entirely different histories.

3 changed files with 25 additions and 45 deletions

View File

@ -10,6 +10,10 @@
<ProjectReference Include="..\AyCode.Utils\AyCode.Utils.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Extensions\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />

View File

@ -1,26 +0,0 @@
using AyCode.Utils.Extensions;
namespace AyCode.Core.Extensions;
public static class ExceptionExtensions
{
public static void GetCategoryAndMemberNameFromStackTraceString(this Exception? exception, out string? memberName, out string? categoryName)
{
categoryName = null;
memberName = null;
if (exception == null) return;
var stackTraceString = exception.StackTrace ?? exception.InnerException?.StackTrace;
if (stackTraceString.IsNullOrWhiteSpace()) return;
var stackSplit = stackTraceString.Split(" in ");
if (stackSplit.Length <= 0) return;
stackSplit = stackSplit[0].Split('.');
if (stackSplit.Length <= 1) return;
memberName = stackSplit[^1]; //new StackTrace(exception).GetFrame(0)?.GetMethod()?.Name;
categoryName = stackSplit[^2]; //exception.Source
}
}

View File

@ -9,8 +9,6 @@ public interface IAcConsoleLogWriter : IAcTextLogWriterBase
public class AcConsoleLogWriter : AcTextLogWriterBase, IAcConsoleLogWriter
{
private static readonly object ForWriterLock = new();
protected AcConsoleLogWriter() : this(null)
{
Initialize();
@ -35,25 +33,29 @@ public class AcConsoleLogWriter : AcTextLogWriterBase, IAcConsoleLogWriter
{
if (logText.IsNullOrWhiteSpace()) return;
lock (ForWriterLock)
//lock (ForWriterLock)
{
switch (loglevel)
if (loglevel is > LogLevel.Trace and < LogLevel.Suggest)
{
case > LogLevel.Trace and < LogLevel.Suggest:
Console.WriteLine(logText);
return;
case <= LogLevel.Trace:
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine(logText);
break;
case LogLevel.Suggest:
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(logText);
break;
default:
Console.ForegroundColor = loglevel == LogLevel.Warning ? ConsoleColor.Yellow : ConsoleColor.Red;
Console.WriteLine($"{AcEnv.NL}{logText}{AcEnv.NL}");
break;
//Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(logText);
return;
}
if (loglevel <= LogLevel.Trace)
{
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine(logText);
}
else if (loglevel == LogLevel.Suggest)
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(logText);
}
else
{
Console.ForegroundColor = loglevel == LogLevel.Warning ? ConsoleColor.Yellow : ConsoleColor.Red;
Console.WriteLine($"{AcEnv.NL}{logText}{AcEnv.NL}");
}
Console.ForegroundColor = ConsoleColor.White;