Logger
Implement a logger. This will be useful to report ok, warnings and errors from plugins and create reports.
- [ ] Manage different log classes
- [ ] Manage different domains.
- [ ] Record optional additional data (useful for other applications like test suites)
Make sure that the logger logs the errors when writing larger strings than allowed from the DataWriter.
This library seems a good candidate: https://github.com/damianh/LibLog
LibLog has been deprecated in favor of Microsoft.Extension.Logging. Yarhl should provide a static class where to set the ILoggerFactory that applications will create (by default the null provider). Every class that wants to use logging will create its own ILogger<T> from this factory in their constructor.
References to learn the tech: