You can probably use that tool with the program() source, or run it via systems/init and redirect its output to a named pipe that is in turn read by syslog-ng using its pipe source.
The syslog header can be added by syslog-ng using its program-override() and default-pri() options.
If you choose to use a program() source that could possibly merged into syslog-ng as a feature using scl (see other examples in the scl/ directory in the source tree). This way the next user who needs the same feature can use it too.