This is a generic event logger that enqueues events and dequeues them on demand. It allows for dynamic updates that can be accessed while other processes run - namely, the DnDGen.Web project can display detailed updates while other Gen projects are running.
To use EventGen, simply use the GenEventQueue.
genEventQueue.Enqueue(clientID, "my generator", "I started generating");
var genEvent = genEventQueue.Dequeue(clientID);You can obtain the event queue from the IoC namespace.
var kernel = new StandardKernel();
var eventGenModuleLoader = new EventGenModuleLoader();
eventGenModuleLoader.LoadModules(kernel);Your particular syntax for how the Ninject injection should work will depend on your project (class library, web site, etc.)
The project is on Nuget. Install via the NuGet Package Manager.
PM > Install-Package DnDGen.EventGen