I have a module running in App Engine Classic and another module running in App Engine Flexible. When viewing logs running in App Engine Classic, the log entries are nested within each request.
However, when viewing logs running in App Engine Flexible, they are not nested. Each log entry appears to be unconnected from the request. This makes it very difficult to determine which log is associated with which request.
Is it possible to get the logs in App Engine Flexible to be nested under each request (as they are with App Engine Classic)?
I cannot find anything in the documentation that explains this discrepancy.
You can now write nested application logs that behave similarly to App Engine Standard by following the instructions here: https://cloud.google.com/logging/docs/view/service/appengine-logs#linking_application_logs_and_requests
As you might imagine, App Engine Flexible uses a good bit of different machinery from traditional App Engine, and these different environments do log differently. It is unfortunately not currently possible to induce Flexible to log in the same data format as Classic.
If this is sufficiently important to you, you can always directly log via the Cloud Logging API, which is what the App Engine logging API ends up passing through to today. You can infer the data format to log by looking at traditional App Engine entries, though we have open a feature request to publicly document this more explicitly.
Also, as a passing note, on the Stackdriver Logging (formerly Cloud Logging) front, we're definitely thinking about ways to support this kind of denormalization of log data more generally, rather than just special-casing for App Engine logging in a specific format, as this would be broadly useful functionality. However, we don't have any specific plans or timelines that we can share at this point—just noting that this is on our radar.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With