Optimization of the logging process for RPA platform
The current logging system limits effective troubleshooting and consumes excessive memory during extended unattended operations. To improve efficiency, scalability, and observability, these enhancements are introduced:
- Dedicated log upload endpoint
A separate endpoint for on-premise components ensures large log files (often exceeding 50MB) can be uploaded without overloading the RPA Management API.
- Agent log handling
The agent collects all runtime log files for each jobInstanceId, compresses them into a zip archive, and uploads the archive to the new endpoint. Uploaded files are deleted from disk to save storage.
- UI and Assistant updates
The RPA Management UI now supports zipped log files. The RPA Assistant can download both .zip and .log files, manage compatibility with older backends, and display notifications if errors occur.
- Runtime logging improvements
Runtime uses buffered logging to reduce file writes and supports configurable log levels through the RPA Configuration Manager. Default settings apply when configuration files are missing.
- Studio enhancements
Studio retrieves output logs from files instead of named pipes, improving performance.
- Log format updates
Runtime and activity logs are reformatted for clarity, reducing redundancy and confusion.
- Communication changes
Message Queuing Telemetry Transport (MQTT) is no longer used for forwarding log communications in Agent and Unattended runtime.
- Asynchronous post-processing
Log post-processing is investigated to support advanced analytics and observability.
- Virus scanning integration
A new Lambda function forwards files to the Virus Scanner Service (VSS). The RPA platform also adds an end-to-end virus scan tracking mechanism, including a centralized metadata table, updated tenant schemas, and a scheduled job to track and update scan statuses.