Porting SerilogLogger from KExpense

This may need caching...