> For the complete documentation index, see [llms.txt](https://docs.buildings.ability.abb/collection/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.buildings.ability.abb/collection/platform/platform-core/script-engine/writing-python-scripts/output-logging-and-error-handling.md).

# Output Logging and Error Handling

## Overview

When executing scripts in the BuildingPro Suites 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:**

```python
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:**

```python
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.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.buildings.ability.abb/collection/platform/platform-core/script-engine/writing-python-scripts/output-logging-and-error-handling.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
