Dispatching log information
Async Safe, Colorful, Useful
Logging is very simple within a controller, and allows for very quick additions and removals, along with color coded channels for logging. Each controller has a dispatcher instance within it allowing each controller dispatcher to have a different tag.
Dispatcher tags are defined by the controller backed by all the super controllers behind it. So in our ExampleController example, the tag or even toString() would return something like this.ExamplePlugin > ExampleController
Using the Dispatcher in Controllers
By default, all controllers inherit dispatcher methods, so the instance is behind the methods.
i("Info! (White. Not Gray.)");
s("Success! (Green)");
w("WARNING! (Yellow)");
f("FAILURE! (Red)");
v("Verbose! (Light Purple)");
o("OVERBOSE! (Aqua)");
Creating a Dispatcher instance
You can also create a dispatcher instance very simply and use it wherever you like with whatever tag you need.
D d = new D("Custom Tag");
d.i("Info! (White. Not Gray.)");
d.s("Success! (Green)");
d.w("WARNING! (Yellow)");
d.f("FAILURE! (Red)");
d.v("Verbose! (Light Purple)");
d.o("OVERBOSE! (Aqua)");