system.alarm.queryJournal parameters seem almost redundant?

Two of the optional parameters for queryJournal seem to be almost redundant.

system.alarm.queryJournal([startDate], [endDate], [journalName], [priority], [state], [path], [source], [displaypath], [all_properties], [any_properties], [defined], [includeData], [includeSystem], [isSystem])

Boolean includeSystem  - Specifies whether system events are included in the return. [optional]
Boolean isSystem  - Specifies whether the returned event must or must not be a system event. [optional]

What are the differences between these options? What are their defaults?

Since the default behavior isn't listed in the function reference, could these two work against each other if one or both are left default?

Both arguments default to null/not set.
If includeSystem is explicitly false, then system events are guaranteed to not be included in the results.
If isSystem is explicitly true, then only system events will be returned.

So by default, you will get system events included with your other events. If you set includeSystem false, you will not get those system events. If you set isSystem true, then you will only get those events.

An argument could certainly be made that this could probably just be one parameter, and I think I would agree with that, but this is the way it's been for, more or less, the last decade, according to our VCS.

1 Like