Dear all,I've a question or issue regarding the simple LogMessage (ODC).How long does it take to find this in the monitor/logs?Somehow these LogMessages don't arrive....
Best regards,Jeroen Vormer
Hello,
They do arrive, but you need to keep refreshing the logs in the ODC Portal. You’re right that there can be a slight delay. I tested it on my side and noticed the logs appeared about one minute later, but the timestamp of the log matches the exact time when the action was triggered.
I think so too.
As I understand it, in a flow, the OS will collect logs into a queue and then post all logs to the log portal after the action has finished.
Hi Jeroen,
This is expected behavior in ODC.
When LogMessage is executed from a client action, the log is created on the client side and is not immediately sent to the server logs. Client logs are buffered locally and only transmitted under certain conditions, such as:
Because of this, LogMessage entries from client actions may appear with a delay in Monitor, or in some cases may not appear at all if the session ends unexpectedly. Real-time visibility is therefore not guaranteed.
A few practical tips that you can test:
This behavior is by design in ODC to minimize network traffic and avoid performance impact on the client.
Hope this helps clarify what you are seeing.
Best regards, Miguel
@Miguel Verdasca ,maybe the problem is all these 403 I receive?
Yes, that 403 is very relevant and it explains why the LogMessage entries are not reaching Monitor.
In ODC, client-side logs are sent to the platform through a dedicated logging endpoint (/v2/logs). If those requests are returning 403 Forbidden, the logs are being rejected by the platform and will never be persisted, regardless of buffering or timing.
This usually points to one of the following:
Invalid or expired API key / app credentials used by the mobile app.
Environment mismatch, for example the app built against a different ODC environment than the one receiving the logs.
Security or access restrictions at the environment level preventing client log ingestion.
In rarer cases, a temporary platform-side restriction on the logging endpoint.
So, while client logs are indeed buffered and not sent immediately, they should still be successfully posted once a flush occurs. A consistent 403 means the flush is happening, but the platform is explicitly rejecting the request.
I would recommend:
Verifying the app’s environment configuration and credentials.
Regenerating the API key and redeploying the app.
Checking whether other client-to-platform calls succeed from the same app/session.
If the issue persists, raising it with OutSystems Support, as the request is reaching CloudFront but being denied upstream.
In short: this is not just delayed logging; it’s failed log ingestion.
Hope this helps clarify what you’re seeing.