private void Log(ExtendedLogLevel level, Exception cause, string message, params object[] args)
        {
            message = message ?? "";
            var formattableString = $"[{level}]:{string.Format(message, args)}";

            if (cause != null)
            {
                formattableString = $"{formattableString}\n{cause}";
            }

            _logMethod(formattableString);
        }
 public TestLogger(Action <string> logMethod, ExtendedLogLevel level = ExtendedLogLevel.Info)
 {
     _level     = level;
     _logMethod = logMethod;
 }
 public TestLogger(ITestOutputHelper output, ExtendedLogLevel level = ExtendedLogLevel.Info)
 {
     _level     = level;
     _logMethod = output.WriteLine;
 }