public static void LogDebug( this IOperationContext context, string actionDescription, string firstParameter, object firstValue, params object[] restParameters) { if (restParameters.Length % 2 != 0) { throw new ArgumentException("parameters must be in pairs", nameof(restParameters)); } var messageBuilder = new StringBuilder(); messageBuilder.AppendLine(actionDescription); messageBuilder.AppendLine($"\t{firstParameter}={firstValue}"); for (var i = 0; i < restParameters.Length; i += 2) { messageBuilder.AppendLine($"\t{restParameters[i]}={restParameters[i + 1]}"); } context.LogDebug(messageBuilder.ToString()); }