The database drivers DatabaseRest and DatabaseRpc should have a property, initialized from .ctor of the type ILogger Logger.
LoggerMessages should be defined using the LoggerMessageGenerator.
The content, for each logging level, should be reasonable. Here are a few examples:
| Verbosity |
Example |
| Debug |
Each public method call. e.g. Query, SignUp. The query itself, such as credentials, must never be logged! |
| Info |
Significant state changed Open, Close. |
| Warning |
Duplicate call to open, empty results etc. |
| Error |
Exceptions, failed to open etc. |
These are mostly how I personally feel about logging verbosity, feel free to choose differently, within reason.