Output Logging and Error Handling

Overview

When executing scripts in the Eliona system, all outputs, such as print statements, information about the execution, and errors, are logged in the Grafana container (SSR). Each script execution receives a unique Function ID, which makes it possible to specifically track the outputs of individual scripts. This guide explains what such log entries can look like and what they mean.

Important Notes

Immediate Output with print Statements

To ensure that print outputs are immediately visible, use the parameter flush=True in your print statements. This prevents the output from staying in the buffer and ensures that it appears directly in the log.

Example:

print("Result: 42", flush=True)

Error Logging

All errors that occur during the execution of a script are also displayed in the Grafana log. Through appropriate error handling, you can ensure that additional details are logged, which facilitates troubleshooting.

Example of error logging:

try:
    # Code that could cause errors
except Exception as e:
    print(f"An error occurred: {e}", flush=True)
    raise

By using flush=True in combination with comprehensive error handling, you can ensure that all important information is immediately visible in the log and potential problems can be identified and fixed quickly.

Last updated