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
print
StatementsTo 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