Logging

Etho services use Python’s logging module. Logs are emitted in two places:

  • Terminal logs for live status display

  • Log files for experiment records.

Terminal Logs

Each service publishes log messages on its LOGGING_PORT. The message prefix includes timestamp, service name, and host name.

Network logging is useful for live monitoring and debugging. It is hidden by default but can be enabled in the GUI with the debug checkbox, or from the terminal using the --debug flag: etho run PROTOCOLFILE PLAYLISTFILE --debug. In debug mode, one terminal window is opened per service to display its log messages.

Log Files

During normal etho run execution, services initialize local log files under:

<savefolder>/<save-prefix>/

Common examples:

  • <save-prefix>_gcm.log

  • <save-prefix>_daq.log

  • <save-prefix>_gov.log

Local logs record service setup, runtime status, callback initialization, and cleanup messages. They are the first place to check when saved data is missing, frame rates differ from the protocol, or a hardware SDK import fails.