Skip to main content
Skip table of contents

(v13) Monitor information output

This page applies to Harlequin v13.1r0 and later; and to Harlequin Core but not Harlequin MultiRIP

The Harlequin Core SDK has changes to the way in which output is routed to the console, and to standard output and standard error files and log files.

Monitor information output from both the core and the skin is now routed through monitor events. Monitor events carry metadata about the monitor information, including a related timeline, the output channel, and the monitor information type (including an error code and in many cases a machine-passable unique ID for the message). This is mostly useful when you are performing complex integrations. Individual messages can be diverted, suppressed, or used to trigger warnings or alerts in your DFE or GUI.

The event system is not booted and available for the entire duration that the skin is running, so the SDK now allows installation of a default monitor callback function, similar to the RIP's monitor callback function, that can be used to capture and contextualize monitor information that is not presented through events.

The only place that the SDK now uses C standard I/O is in timing probes, which are normally not turned on. The clrip skin uses C standard I/O is at the last level of handling the monitor output, either from the events or from the monitor callback functions used to write data from the RIP or skin, and in some other locations before the skin is fully booted and for some internal debugging information. It is therefore much easier to divert output messages from the SDK and the RIP to other log files or log systems uniformly by reconfiguring a monitor callback function and/or installing event handlers.

The changes to output will not be obvious unless the color output console options are selected using clrip's -! option. Users of that option will notice some extra timeline information for the skin and skin job timelines, and also some messages appearing in different colors because they are routing to different channels internally.

The clrip skin normally runs in a compatibility mode, where output to the core's %stderr% stream is routed to the same output channel as the standard output, but skin calls to output to standard error are routed to the standard error channel. There is now an -err option, which removes the compatibility routing and sends all %stderr% output from the core and the skin to standard error.

In the SDK, the functions for sending monitor output have changed. There are now extended versions of the varargs message formatting which include the timeline, channel, and monitor type information. These are used extensively throughout the SDK, and unique IDs are now supplied for all warnings and errors issued by the SDK.

All of the message formatting routines in the skin are now documented to use the RIP core's swncopyf() call, and the formats supported by that function are now documented.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.