From 8de74c0ab81717ed1871d36b3230fc8451df74af Mon Sep 17 00:00:00 2001 From: Roman Artiukhin Date: Thu, 25 May 2017 20:17:33 +0300 Subject: [PATCH] Get rid of duplicate string.Format calls in logging. Fix possible FormatExcetpion in two cases: 1) format argument parameter is a string with '{' 2) When initial message is not a format string but it contains '{' --- HttpTwo/Internal/Logging.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/HttpTwo/Internal/Logging.cs b/HttpTwo/Internal/Logging.cs index 2f22c25..25f4021 100644 --- a/HttpTwo/Internal/Logging.cs +++ b/HttpTwo/Internal/Logging.cs @@ -39,30 +39,31 @@ public class DefaultLogger : ILogger public void Info (string format, params object[] args) { if (Level >= LogLevel.Info) - write (string.Format (format, args)); + write (format, args); } public void Debug (string format, params object[] args) { if (Level >= LogLevel.Debug) - write (string.Format (format, args)); + write (format, args); } public void Warn (string format, params object[] args) { if (Level >= LogLevel.Warn) - write (string.Format (format, args)); + write (format, args); } public void Error (string format, params object[] args) { if (Level >= LogLevel.Error) - write (string.Format (format, args)); + write (format, args); } void write (string format, params object[] args) { - Console.WriteLine (DateTime.Now.ToString ("hh:MM:ss.fff tt") + ": " + string.Format (format, args)); + var logMessage = args.Length == 0 ? format : string.Format (format, args); + Console.WriteLine (DateTime.Now.ToString ("hh:MM:ss.fff tt") + ": " + logMessage); } }