The mg_cfgEvlog command provides a utility that supports configuring the event loggers defined in a DAQ manager configuration database.
Before we begin describing how to use mg_cfgEvlog, It's important to define some terms:
An enabled logger will log data to its destination if logging is globally enabled in the logger.
A critical logger is one who's failure will shutdown the data acquisition system.
Partial loggers do no directory management and, therefore, simplly log timestamped run files in the destination directory. These operate identicall to loggers run in the ReadoutGUI multilogger package.
These are loggers that are not partial loggers. See COMPLETE LOGGERS below for more information.
The event log editor GUI consists of a table of current event log definitions, a definition section below the table and two action buttons
and Changes are not immediately saved to the database. WHen you are satisfied with the definitions you see in the eventlog list, click to save those definitions oe if you don't want this work saved. will simply reload the table with the event log definitions in the database.Items in the list of loggers have a context menu that can be posted by right clicking them. The context menu has the following commands:
Resets the event log editor form to its defaults. The action button in the form will be labeled
indicating that clicking it creates a new event logger definition.Loads the definition into the definition form and relabels its action button
indiciating that clicking it will modify the definition being edited.Deletes the definition under the pointer.
The Eventlog editor form contains the following elements:
The NSCLDAQ installation directory root. This is loaded with the directory root for the DAQ version from which the editor was run. It can be edited if there are special needs but, in general, should not be earlier than 12.0-pre3.
Should be edited to be the URI of the ring buffer that will be logged to disk.
Should be edited or browsed to the directory in which data will be logged. For partial loggers all data will be logged into this directory. For Complete loggers, this is the top level of the directory tree maintained by the logger. See COMPLETE LOGGERS.
Note that if the event logger is containerized, this path must be a valid path within the active container.
Should be edited to the DNS name of the computer in which the event logger will run.
Pulldown menu that allows you to select a container in which the event logger runs. Note that if this is empty, the logger will run native.
If checked, the logger will be a partial logger otherwise it will be complete.
If checked the logger is a critical component of the DAQ system and unexpected exits will SHUTDOWN the intire system.
If checked the logger is enabled. If not it will not record data even if the global recording is enabled.
Finally the edit form has an action button that is labeled
if clicking it will replace the definition that you initially loaded into the form using the Edit context menu or if it will create a new definition.A complete logger produces the same directory tree as the ReadoutGui's primary event log. The destination specified for the logger is the top of a directory tree that looks like this:
The experiment subdirectory has run subdirectories for each recorded run and one for the run currently being recorded. While event recording is in progress, the current subdirectory has links to the event file segments in the associated run.
When event recording for a run is complete, several actions are taken:
The link(s) to the event file(s) are moved to the complete directory.
All other files inthe current directory are copied into the run directory recursively. Furthermore, links are derefrenced rather than copied.
Permissions are set on the run directory and its contents to ensure that accidental deletion of the files it contains are harder.
The way to think of all of this is that the complete directory offers a view of the entire experiment. All event files are accessible by following the links in that directory.
The experiment/current directory provides a view of the run in progress. Its links and metadata describe the run in progress and data taken for it.
The experiment/run* directories provide per run views where each event file is packaged with metadata associated with that run.