Action - Run external program
|Top Previous Next|
This feature is only available in the licensed version.
This will execute an external program whenever a message is received which passes the filters set above.
Please note that a new instance of the external program is launched for every message, so this may become a problem if messages arrive faster than the external program exits. It is especially true if Syslog is installed as a service, in which case the external program is launched by the service inside the non- interactive Windows session. The only way to see that the program is running is by using Task Manager. So if not used carefully this action may lead to the computer being flooded with multiple instances of the external program.
Details of the message and other Syslog statistics can be passed to the external program as command-line arguments.
Specify the external program filename by filling in the Program file name field or press the "…" browse button to browse for a program.
Specify the command line options you would like to pass to the program in the Command line options field. Press the "?" button to see syntax for passing message details and Syslog statistics to the external program.
Insert message content or counter
To pass program variables, counters, script fields and statistics to the external program, click on the Insert message content or counter link and choose an option from the popup menu. More details on the values can be found here.
This option allows you to choose a variable from a popup menu. The variable is then replaced with the current value before the program is run. For example %MsgText is replaced with the text of the current syslog message. Just position your cursor in the command line options text line and click the hyperlink. A popup menu will be displayed so you can choose the variable you want.
Example command line options:
"555-1234", "Syslog - A link has gone down - %MsgAll"
Or: "Warning, message received from host %MsgHost at %MsgTime"
Sets the priority of the new windows process that will be created.
Acceptable values are:
REALTIME_PRIORITY (Caution: REALTIME priority can cause system lockups)
Indicates a process that has priority above Normal but below High.
Indicates a process that has priority above Idle but below Normal.
Specify this class for a process that performs time-critical tasks that must be executed immediately. The threads of the process preempt the threads of normal or idle priority class processes. An example is the Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class application can use nearly all available CPU time.
Specify this class for a process whose threads run only when the system is idle. The threads of the process are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle-priority class is inherited by child processes.
Specify this class for a process with no special scheduling needs.
Specify this class for a process that has the highest possible priority. The threads of the process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.
Sets the window mode of the process if that process has a user interface. This setting has no effect on processes that do not have a user interface. This setting is unavailable if running Syslog Server as a service.
Acceptable values are:
Wait for program initialization to complete before continuing
When checked, this option means that Syslog will wait for the new process to complete it's initialization. It does this by waiting until the new process signals that it is idle.
Note: This is a blocking operation. Kiwi Syslog will not process messages any further; until it receives the InputIdle signal from the process. Because of this, there is an additional option which specifies how long Kiwi Syslog should wait for the process to initialize. Once this time interval has elapsed, Kiwi Syslog assumes that the process started correctly.
This setting is useful is you are interacting with the process at a later stage, and you want to be sure that the process has started.