Removed console log adapter (unused)

This commit is contained in:
Max 2024-05-04 10:53:07 +02:00
parent 8c75917f6f
commit f18b167f6f
8 changed files with 19 additions and 118 deletions

View File

@ -15,7 +15,7 @@ public class SerilogAdapter : LogAdapterBase
_messageTemplateParser = new MessageTemplateParser(); _messageTemplateParser = new MessageTemplateParser();
} }
public const string SampleTemplate = "[{Timestamp:HH:mm:ss} - {Caller} -> {AsmCaller}] | {Level:u3}] {Message:lj}{NewLine}{Exception}"; public const string SampleTemplate = "[{Timestamp:HH:mm:ss} - {Caller} -> {Source}] | {Level:u3}] {Message:lj}{NewLine}{Exception}";
private readonly global::Serilog.ILogger _serilogLogger; private readonly global::Serilog.ILogger _serilogLogger;
private readonly MessageTemplateParser _messageTemplateParser; private readonly MessageTemplateParser _messageTemplateParser;
@ -26,7 +26,7 @@ public class SerilogAdapter : LogAdapterBase
return; return;
var baseLogger = capsule.Logger as Logger; var baseLogger = capsule.Logger as Logger;
var logger = _serilogLogger var logger = _serilogLogger
.ForContext("AsmCaller", baseLogger?.CallingAsmInfo.AssemblyName ?? "Static") .ForContext("Source", baseLogger?.Source.AssemblyName ?? "Static")
.ForContext("Caller", baseLogger?.Identifier); .ForContext("Caller", baseLogger?.Identifier);
var template = _messageTemplateParser.Parse(capsule.Message); var template = _messageTemplateParser.Parse(capsule.Message);
@ -39,6 +39,7 @@ public class SerilogAdapter : LogAdapterBase
switch (capsule.Severity) switch (capsule.Severity)
{ {
case LogSeverity.Trace: case LogSeverity.Trace:
default:
logger.Write(new LogEvent(capsule.TimeStamp, LogEventLevel.Verbose, null, template, properties ?? ArraySegment<LogEventProperty>.Empty, ActivityTraceId.CreateRandom(), ActivitySpanId.CreateRandom())); logger.Write(new LogEvent(capsule.TimeStamp, LogEventLevel.Verbose, null, template, properties ?? ArraySegment<LogEventProperty>.Empty, ActivityTraceId.CreateRandom(), ActivitySpanId.CreateRandom()));
break; break;
case LogSeverity.Debug: case LogSeverity.Debug:

View File

@ -1,9 +0,0 @@
namespace DotBased;
public class Based
{
void Test()
{
}
}

View File

@ -1,5 +1,8 @@
namespace DotBased.Extensions; namespace DotBased.Extensions;
/// <summary>
/// Some simple extensions used for the string class
/// </summary>
public static class StringExtensions public static class StringExtensions
{ {
public static bool IsNullOrWhiteSpace(this string s) => string.IsNullOrWhiteSpace(s); public static bool IsNullOrWhiteSpace(this string s) => string.IsNullOrWhiteSpace(s);

View File

@ -12,11 +12,6 @@ public abstract class LogAdapterBase
public string Id { get; } = Guid.NewGuid().ToString(); public string Id { get; } = Guid.NewGuid().ToString();
public string AdapterName { get; } public string AdapterName { get; }
/*private string[] GetMessageProperties(string message)
{
return [];
}*/
public abstract void HandleLog(object? sender, LogCapsule? capsule); public abstract void HandleLog(object? sender, LogCapsule? capsule);
public override int GetHashCode() => HashCode.Combine(Id, AdapterName); public override int GetHashCode() => HashCode.Combine(Id, AdapterName);

View File

@ -21,7 +21,7 @@ public class LogProcessor : IDisposable
private readonly ManualResetEvent _threadShutdownEvent = new ManualResetEvent(false); private readonly ManualResetEvent _threadShutdownEvent = new ManualResetEvent(false);
/// <summary> /// <summary>
/// Stop the LogProcessor, the processor cannot be resumed after stopped! /// Stop the LogProcessor, the processor cannot be resumed after it is stopped!
/// </summary> /// </summary>
public void Stop() public void Stop()
{ {
@ -54,7 +54,7 @@ public class LogProcessor : IDisposable
if (_threadShutdownEvent.WaitOne(0)) if (_threadShutdownEvent.WaitOne(0))
break; break;
if (_processorQueue.Any()) if (_processorQueue.Count != 0)
{ {
var capsule = _processorQueue.Dequeue(); var capsule = _processorQueue.Dequeue();
if (LogService.ShouldLog(LogService.Options.Severity, capsule.Severity)) if (LogService.ShouldLog(LogService.Options.Severity, capsule.Severity))

View File

@ -30,22 +30,24 @@ public static class LogService
public static ILogger RegisterLogger(string identifier) public static ILogger RegisterLogger(string identifier)
{ {
var asm = Assembly.GetCallingAssembly(); var asm = Assembly.GetCallingAssembly();
var logger = new Logger(identifier, CallingAssemblyInfo.LoadFromAsm(asm), ref _loggerSendEvent); var logger = new Logger(identifier, CallingSource.LoadFromAsm(asm), ref _loggerSendEvent);
Loggers.Add(logger); Loggers.Add(logger);
return logger; return logger;
} }
} }
public struct CallingAssemblyInfo public struct CallingSource
{ {
private CallingAssemblyInfo(Assembly asm) private CallingSource(Assembly asm)
{ {
var asmName = asm.GetName(); AssemblySource = asm;
var asmName = AssemblySource.GetName();
AssemblyName = asmName.Name ?? "Unknown"; AssemblyName = asmName.Name ?? "Unknown";
AssemblyFullName = asmName.FullName; AssemblyFullName = asmName.FullName;
} }
public static CallingAssemblyInfo LoadFromAsm(Assembly asm) => new CallingAssemblyInfo(asm); public static CallingSource LoadFromAsm(Assembly asm) => new CallingSource(asm);
public Assembly AssemblySource { get; }
public string AssemblyName { get; } public string AssemblyName { get; }
public string AssemblyFullName { get; set; } public string AssemblyFullName { get; set; }
} }

View File

@ -2,15 +2,15 @@ namespace DotBased.Logging;
public class Logger : ILogger public class Logger : ILogger
{ {
public Logger(string identifier, CallingAssemblyInfo asmInfo, ref Action<LogCapsule> logProcessorHandler) public Logger(string identifier, CallingSource source, ref Action<LogCapsule> logProcessorHandler)
{ {
Identifier = identifier; Identifier = identifier;
CallingAsmInfo = asmInfo; Source = source;
_processLog = logProcessorHandler; _processLog = logProcessorHandler;
} }
public string Identifier { get; } public string Identifier { get; }
public CallingAssemblyInfo CallingAsmInfo { get; } public CallingSource Source { get; }
private readonly Action<LogCapsule> _processLog; private readonly Action<LogCapsule> _processLog;
@ -93,5 +93,5 @@ public class Logger : ILogger
}); });
} }
public override int GetHashCode() => HashCode.Combine(Identifier, CallingAsmInfo.AssemblyFullName); public override int GetHashCode() => HashCode.Combine(Identifier, Source.AssemblyFullName);
} }

View File

@ -1,91 +0,0 @@
using System.Text;
namespace DotBased.Logging;
public class SimpleConsoleLogAdapter : LogAdapterBase
{
public SimpleConsoleLogAdapter(string adapterName) : base(adapterName)
{
Console.OutputEncoding = Encoding.UTF8;
}
private readonly ConsoleColor _defaultColor = Console.ForegroundColor;
private const ConsoleColor TimestampColor = ConsoleColor.DarkBlue;
private const ConsoleColor BrackedColor = ConsoleColor.Gray;
private const ConsoleColor MessageColor = ConsoleColor.DarkGray;
private ConsoleColor _severityColor = ConsoleColor.Cyan;
public override void HandleLog(object? sender, LogCapsule? capsule)
{
if (capsule == null) return;
Console.ForegroundColor = BrackedColor;
Console.Write("[");
Console.ForegroundColor = TimestampColor;
Console.Write($"{capsule.TimeStamp}");
Console.ForegroundColor = BrackedColor;
Console.Write("] ");
_severityColor = capsule.Severity.ToConsoleColor();
WriteSeverity(capsule.Severity);
if (capsule.Severity is LogSeverity.Error or LogSeverity.Fatal)
WriteException(capsule);
else
WriteMessage(capsule);
Console.ForegroundColor = _defaultColor;
}
private void WriteSeverity(LogSeverity severity)
{
Console.ForegroundColor = BrackedColor;
Console.Write("[");
Console.ForegroundColor = _severityColor;
Console.Write($"{severity}");
Console.ForegroundColor = BrackedColor;
Console.Write("] ");
}
private void WriteMessage(LogCapsule capsule)
{
if (capsule.Parameters == null || !capsule.Parameters.Any())
{
Console.ForegroundColor = MessageColor;
Console.WriteLine($"{capsule.Message}");
}
else
{
}
}
private void WriteException(LogCapsule capsule)
{
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("\u23F7");
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("==============================================================================================");
WriteMessage(capsule);
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(capsule.Exception);
Console.WriteLine("==============================================================================================");
Console.ForegroundColor = _defaultColor;
}
}
public static class LogSeverityExt
{
public static ConsoleColor ToConsoleColor(this LogSeverity severity)
{
var color = severity switch
{
LogSeverity.Trace or LogSeverity.Info => ConsoleColor.White,
LogSeverity.Debug => ConsoleColor.Magenta,
LogSeverity.Warning => ConsoleColor.Yellow,
LogSeverity.Error => ConsoleColor.Red,
LogSeverity.Fatal => ConsoleColor.DarkRed,
_ => ConsoleColor.White
};
return color;
}
}