Flag Warn as Obsolete
Flag Warn as Obsolete and update all usages of Warn to move to using Warning
introduce LogMessage as a container for passing around Format + Args
Adding better support for logging when using serilog by providing a way to provide the message format and args into the serilog logger instead of pre formatting the message
change to serilog logger to unwrap the LogMessage correctly to get the format and arguments, and also make the ctor public so I could get it to work.