Skip to main content
Version: 5.3.0.0

For every orchestra runtime, a json based logging for system events and process events can be activated. That basic idea is, that all of the events are captured by the event engine and written as multi line json file to the console or the file system. This is useful since tools like the elk-stack can be used to process this data and allow a structured search.

Activation

The json log is disabled per default. It can be activated Settings > Event Engine (Json Log)

NameDescription
enabledIf set to true, all events will be written to a multi line json file.

General settings​

The general behavior of the json logging can be configured under Settings > Event Engine (Json Log). The following table describes all setting which affect process and system event logging.

NameDescription
log.json.queue.timeThe maximum time, log entries are cached before they are written to the log. If the log entries are older then this time, they are written automatically.
log.json.thresholdThe number of log entries that are collected before they are written to the log.
log.json.backlogThe maximum number of write operations. If this limit is reached, orchestra disables asynchronous logging and writes entries directly until the queue is processed.
log.json.asynchronous.threadsDefines the number of thread which are used to write events to the log output. If -1 is set, the write access is done synchronously. If 1 is set, events are written in parallel and the order of occurance is preserved. Values greater one use more writer threads in parallel, but there is no guarantee that the event order of occurance is preserved. A sorting has to be done by the reader.

Event logging​

The behavior of the system event logging can be configured under Settings > Event Engine (Json Log)

NameDescription
log.json.event.modeDefines which mode has to be used to emit the log entries. If FILE is selected, the process entries are written to a separate file. If STDOUT is selected, the entries are written to the console. If LOG is selected, the output is emitted to the orchestra log file. If ALL is used, the logs are emitted over all channels.
log.json.event.file.patternSpecifies the filename pattern used to derive the name of the system event log file. The following patterns are supported %g (generation), %y (year), %m (month), %d (day), %h (hour), %m (minute)
log.json.event.file.modeDefines the basic strategy how files are used. If ROTATE is set, the number of files is by fileCount and file are written in a rotation manner. Otherwise, a continues number of files will be created.
log.json.event.file.switchAfterSpecifies how long (in minutes) log entries are written to the same file
log.json.event.file.fileSizeSpecifies the maxmum size (in megabyte) of a log file. If the limit is reached a new log file will be created.
log.json.event.file.fileCountDefines whow many log files will be written on a rolling basis.

Process logging​

The behavior of the process logging can be configured under Settings > Event Engine (Json Log)

NameDescription
log.json.process.modeDefines which mode has to be used to emit the log entries. If FILE is selected, the process entries are written to a separate file. If STDOUT is selected, the entries are written to the console. If LOG is selected, the output is emitted to the orchestra log file. If ALL is used, the logs are emitted over all channels.
log.json.process.file.patternSpecifies the filename pattern used to derive the name of the system event log file. The following patterns are supported %g (generation), %y (year), %m (month), %d (day), %h (hour), %m (minute)
log.json.process.file.modeDefines the basic strategy how files are used. If ROTATE is set, the number of files is by fileCount and file are written in a rotation manner. Otherwise, a continues number of files will be created.
log.json.process.file.switchAfterSpecifies how long (in minutes) log entries are written to the same file
log.json.process.file.fileSizeSpecifies the maximum size (in megabyte) of a log file. If the limit is reached a new log file will be created.
log.json.process.file.fileCountDefines how many log files will be written on a rolling basis.