Integrity of each workflow is checked before it is processed so e.g. if an error in scan data collection occurs, workflow is rather discarded than sending the scanned documents to a different user. In some cases it could be useful to change logger configuration so you can track the validation result.

To log errors from validation into a separate log file

Workflow integrity check is done in Dispatcher Paragon Terminal Server subsystem which is using NLog. Sample configuration is bellow, please note that more advanced configuration can be done according NLog documentation (https://github.com/NLog/NLog/wiki).

  1. Open NLog configuration file (usually located in 'C:\DispatcherParagon\SPOC\TerminalServer\NLog.config')
  2. Add a custom target which will act as a destination, e.g. to store messages into a file called 'terminalserver.workflow.error.log' add

    <target name="workflowValidationErrorLogfile" xsi:type="File" archiveAboveSize="20971520" archiveNumbering="Date" concurrentWrites="false"
    archiveFileName="logs\terminalserver.workflow.error.{#}.log" maxArchiveFiles="5" fileName="logs\terminalserver.workflow.error.log"
    archiveDateFormat="yyyyMMdd-HHmmss"
    layout="${whenEmpty:whenEmpty=${longdate} ${level:uppercase=true:padding=-5:fixedLength=true} ${whenEmpty:whenEmpty=${threadid}:inner=${threadname}:SuffixTrim=20}| ${class:SuffixTrim=25} | ${method:SuffixTrim=20} | ${message} ${exception:innerFormat:tostring:format=tostring}:inner=${remote}"/>
  3. Add a custom logger for WorkflowValidator component to log data into the defined target

    <logger name="TerminalServer.Scans.SessionManagement.WorkflowValidator" level="Error" writeTo="workflowValidationErrorLogfile" />
  4. Restart Dispatcher Paragon Terminal Server subsystem

The same approach can be used to log also the successful validation results, the only difference is in the level in the logger configuration which is Info.