Skip to content
Deane Barker edited this page Jun 1, 2018 · 5 revisions

Following execution, a Pipeline will contain a LogEntries property as a List<ExecutionLog>. There will be one ExecutionLog object per filter, which contains diagnostic information about the execution of that filter:

  • CommandName: The fully-qualified name of the filter (ex: Text.Append)
  • CommandText: The entire invoked command, as parsed (ex: Text.Append -suffix:foo)
  • ElapsedTime: The time, in milliseconds, it took to execute the filter
  • InputValue: The string that was passed into the filter
  • OutputValue: The string that was passed out of the filter
  • SuccessfullyExecuted: A boolean indicating if the filter executed successfully
  • Arguments: A key/value dictionary of provided arguments and their values
  • Variables: A key/value dictionary of variables available at the time the filter was executed
  • Messages: A list of message strings added during filter execution (see below)

Each filter is provided with its ExecutionLog instance as the final parameter. Text messages can be appended during filter execution:

public static string MyFilter(string input, PipelineCommand command, ExecutionLog log)
{
  // Do something here...
  log.AddMessage("I did something!");
}

The LogEntries property is cleared prior to an execution of the pipeline. Therefore, it remains populated with the output of the last execution, until the pipeline is executed again.

Clone this wiki locally