ApplicationLogging provides interfaces and classes to allow simple logging from a client application. The included interface IApplicationLogger can be injected into client classes, and exposes simple methods for capturing detailed logging information from these client classes.
The main benefit of ApplicationLogging is to provide an abstraction layer between the client application and the logging framework the application uses. The logging framework can then be swapped simply by changing the implementation of interface IApplicationLogger. This means that if/when your chosen logging framework stops being maintained or is no longer flavour of the month, the logging can be changed by updating constructor parameters and/or in dependency injection, rather than having to update potentially 1000's of lines of logging statements 😃.
The documentation below was written for version 1.* of ApplicationLogging. Minor implementation details may have changed in versions 2.0.0 and above, however the basic principles and use cases documented are still valid.
A detailed sample implementation and use case...
http://www.alastairwyse.net/methodinvocationremoting/sample-application-4.html
Code documentation...
http://www.alastairwyse.net/methodinvocationremoting/ndoc/~ApplicationLogging.html
Version | Changes |
2.0.0 |
Migrated to .NET Standard. ApplicationLogging.Adapters project removed (will be moved to separate NuGet package(s)). |
1.4.0.1 | Initial version forked from the Method Invocation Remoting project. |