22using System . Collections . Generic ;
33using System . Diagnostics ;
44using System . IO ;
5- using System . Threading . Tasks ;
65using Alibi . Plugins . API ;
76
87namespace Alibi
98{
109 public class Logger
1110 {
1211 public const string LogsFolder = "Logs" ;
13- private readonly Queue < Tuple < LogSeverity , string > > _consoleLogQueue = new ( ) ;
1412 private readonly Queue < string > _logBuffer ;
1513
1614 private readonly Server _server ;
@@ -19,29 +17,6 @@ public Logger(Server server)
1917 {
2018 _server = server ;
2119 _logBuffer = new Queue < string > ( _server . ServerConfiguration . LogBufferSize ) ;
22- Task . Run ( PrintLogs ) ;
23- }
24-
25- private void PrintLogs ( )
26- {
27- while ( true )
28- {
29- Task . Delay ( 100 ) . Wait ( ) ;
30- if ( ! _consoleLogQueue . TryDequeue ( out var log ) )
31- continue ;
32-
33- Console . ForegroundColor = log . Item1 switch
34- {
35- LogSeverity . Info => ConsoleColor . White ,
36- LogSeverity . Special => ConsoleColor . Cyan ,
37- LogSeverity . Warning => ConsoleColor . Yellow ,
38- LogSeverity . Error => ConsoleColor . Red ,
39- _ => Console . ForegroundColor
40- } ;
41- Console . WriteLine ( log . Item2 ) ;
42- Console . ResetColor ( ) ;
43- }
44- // ReSharper disable once FunctionNeverReturns
4520 }
4621
4722 /// <summary>
@@ -69,7 +44,16 @@ private void AddLog(LogSeverity severity, string log)
6944 _logBuffer . Dequeue ( ) ;
7045
7146 _logBuffer . Enqueue ( log ) ;
72- _consoleLogQueue . Enqueue ( new Tuple < LogSeverity , string > ( severity , log ) ) ;
47+ Console . ForegroundColor = severity switch
48+ {
49+ LogSeverity . Info => ConsoleColor . White ,
50+ LogSeverity . Special => ConsoleColor . Cyan ,
51+ LogSeverity . Warning => ConsoleColor . Yellow ,
52+ LogSeverity . Error => ConsoleColor . Red ,
53+ _ => Console . ForegroundColor
54+ } ;
55+ Console . WriteLine ( log ) ;
56+ Console . ResetColor ( ) ;
7357 }
7458
7559 public void IcMessageLog ( string message , IArea area , IClient client )
0 commit comments