mirror of
https://github.com/Stone-Red-Code/Stone_Red-C-Sharp-Utilities.git
synced 2026-09-07 17:05:59 +02:00
Implement new TaskQueue and add LogFormatBuilder
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
using Stone_Red_C_Sharp_Utilities;
|
||||
using Stone_Red_C_Sharp_Utilities.Logging;
|
||||
using Stone_Red_C_Sharp_Utilities.Logging;
|
||||
using Stone_Red_C_Sharp_Utilities.Tasks;
|
||||
|
||||
using Stone_Red_Utilities.Logging;
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Stone_Red_C_Sharp_Utilities_Test
|
||||
@@ -17,45 +16,58 @@ namespace Stone_Red_C_Sharp_Utilities_Test
|
||||
{
|
||||
FatalConfig = new OutputConfig()
|
||||
{
|
||||
Color = ConsoleColor.DarkRed,
|
||||
ConsoleColor = ConsoleColor.DarkRed,
|
||||
LogTarget = LogTarget.Console | LogTarget.DebugConsole | LogTarget.File
|
||||
},
|
||||
ErrorConfig = new OutputConfig()
|
||||
{
|
||||
Color = ConsoleColor.Red,
|
||||
ConsoleColor = ConsoleColor.Red,
|
||||
LogTarget = LogTarget.Console | LogTarget.DebugConsole | LogTarget.File
|
||||
},
|
||||
WarnConfig = new OutputConfig()
|
||||
{
|
||||
Color = ConsoleColor.Yellow,
|
||||
ConsoleColor = ConsoleColor.Yellow,
|
||||
LogTarget = LogTarget.Console | LogTarget.DebugConsole | LogTarget.File
|
||||
},
|
||||
InfoConfig = new OutputConfig()
|
||||
{
|
||||
Color = ConsoleColor.White,
|
||||
ConsoleColor = ConsoleColor.White,
|
||||
LogTarget = LogTarget.Console | LogTarget.DebugConsole | LogTarget.File
|
||||
},
|
||||
DebugConfig = new OutputConfig()
|
||||
{
|
||||
Color = ConsoleColor.Gray,
|
||||
ConsoleColor = ConsoleColor.Gray,
|
||||
LogTarget = LogTarget.Console | LogTarget.DebugConsole
|
||||
},
|
||||
FormatConfig = new FormatConfig()
|
||||
{
|
||||
ConsoleFormat = $"{{{LogFormatType.DateTime}:HH:mm:ss}} | {{{LogFormatType.LogSeverity},-5}} | {{{LogFormatType.Message}}}"
|
||||
//ConsoleFormat = $"{{{LogFormatType.DateTime}:HH:mm:ss}} | {{{LogFormatType.LogSeverity},-5}} | {{{LogFormatType.Message}}}"
|
||||
ConsoleFormat = new LogFormatBuilder().DateTime("HH:mm:ss").Text(" | ").LogSeverity(padding: -5).Text(" | ").Message()
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
private static async Task Main()
|
||||
private static void Main()
|
||||
{
|
||||
TaskQueue taskQueue = new TaskQueue();
|
||||
await taskQueue.Enqueue(() => Console.WriteLine("YES1"));
|
||||
await taskQueue.Enqueue(() => Console.WriteLine("YES2"));
|
||||
await taskQueue.Enqueue(() => Thread.Sleep(2000));
|
||||
await taskQueue.Enqueue(() => Console.WriteLine("YES3"));
|
||||
_ = taskQueue.Enqueue(CreateTask(0, 1000)).Subscribe((Task t) => logger.LogInfo("Task 0 completed"));
|
||||
_ = taskQueue.Enqueue(CreateTask(1, 100)).Subscribe((Task t) => logger.LogInfo("Task 1 completed"));
|
||||
_ = taskQueue.Enqueue(CreateTask(2, 2000)).Subscribe((Task t) => logger.LogInfo("Task 2 completed"));
|
||||
_ = taskQueue.Enqueue(CreateTask(3, 500)).Subscribe((Task t) => logger.LogInfo("Task 3 completed"));
|
||||
|
||||
logger.Log("wow", LogSeverity.Info);
|
||||
|
||||
_ = Console.ReadLine();
|
||||
}
|
||||
|
||||
private static Task CreateTask(int i, int delay)
|
||||
{
|
||||
return new Task(async () =>
|
||||
{
|
||||
logger.LogInfo($"Start task {i}");
|
||||
await Task.Delay(delay);
|
||||
logger.LogInfo($"End task {i}");
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user