Porting SerilogLogger from KExpense

changed it so that nothing gets logged if the message is null or empty, same behavior as the console logger and nlog logger