Compare commits
2 Commits
5b2044a160
...
d6356451ac
| Author | SHA1 | Date |
|---|---|---|
|
|
d6356451ac | |
|
|
56f1eb75f9 |
|
|
@ -10,10 +10,6 @@
|
||||||
<ProjectReference Include="..\AyCode.Utils\AyCode.Utils.csproj" />
|
<ProjectReference Include="..\AyCode.Utils\AyCode.Utils.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="Extensions\" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -9,6 +9,8 @@ public interface IAcConsoleLogWriter : IAcTextLogWriterBase
|
||||||
|
|
||||||
public class AcConsoleLogWriter : AcTextLogWriterBase, IAcConsoleLogWriter
|
public class AcConsoleLogWriter : AcTextLogWriterBase, IAcConsoleLogWriter
|
||||||
{
|
{
|
||||||
|
private static readonly object ForWriterLock = new();
|
||||||
|
|
||||||
protected AcConsoleLogWriter() : this(null)
|
protected AcConsoleLogWriter() : this(null)
|
||||||
{
|
{
|
||||||
Initialize();
|
Initialize();
|
||||||
|
|
@ -33,29 +35,25 @@ public class AcConsoleLogWriter : AcTextLogWriterBase, IAcConsoleLogWriter
|
||||||
{
|
{
|
||||||
if (logText.IsNullOrWhiteSpace()) return;
|
if (logText.IsNullOrWhiteSpace()) return;
|
||||||
|
|
||||||
//lock (ForWriterLock)
|
lock (ForWriterLock)
|
||||||
{
|
{
|
||||||
if (loglevel is > LogLevel.Trace and < LogLevel.Suggest)
|
switch (loglevel)
|
||||||
{
|
{
|
||||||
//Console.ForegroundColor = ConsoleColor.White;
|
case > LogLevel.Trace and < LogLevel.Suggest:
|
||||||
Console.WriteLine(logText);
|
Console.WriteLine(logText);
|
||||||
return;
|
return;
|
||||||
}
|
case <= LogLevel.Trace:
|
||||||
|
Console.ForegroundColor = ConsoleColor.Gray;
|
||||||
if (loglevel <= LogLevel.Trace)
|
Console.WriteLine(logText);
|
||||||
{
|
break;
|
||||||
Console.ForegroundColor = ConsoleColor.Gray;
|
case LogLevel.Suggest:
|
||||||
Console.WriteLine(logText);
|
Console.ForegroundColor = ConsoleColor.Cyan;
|
||||||
}
|
Console.WriteLine(logText);
|
||||||
else if (loglevel == LogLevel.Suggest)
|
break;
|
||||||
{
|
default:
|
||||||
Console.ForegroundColor = ConsoleColor.Cyan;
|
Console.ForegroundColor = loglevel == LogLevel.Warning ? ConsoleColor.Yellow : ConsoleColor.Red;
|
||||||
Console.WriteLine(logText);
|
Console.WriteLine($"{AcEnv.NL}{logText}{AcEnv.NL}");
|
||||||
}
|
break;
|
||||||
else
|
|
||||||
{
|
|
||||||
Console.ForegroundColor = loglevel == LogLevel.Warning ? ConsoleColor.Yellow : ConsoleColor.Red;
|
|
||||||
Console.WriteLine($"{AcEnv.NL}{logText}{AcEnv.NL}");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.ForegroundColor = ConsoleColor.White;
|
Console.ForegroundColor = ConsoleColor.White;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue