Logger implementation to use a Serilog template with the message as a property.

This is to avoid the extra overhead of parsing each logged message and caching
it as described on the documentation page here:
https://github.com/serilog/serilog/wiki/Writing-Log-Events#message-template-recommendations