FrankYang0529 commented on code in PR #74783:
URL: https://github.com/apache/airflow/pull/74783#discussion_r4315441961


##########
contributing-docs/30_new_language_sdk.rst:
##########
@@ -293,13 +293,19 @@ is a structlog-style event:
 
 .. code-block:: text
 
-    {"event": "Starting extraction", "level": "info", "logger": 
"com.example.SalesPipeline", "timestamp": "2026-06-22T12:00:00", "rows": 42}
+    {"event": "Starting extraction", "level": "info", "logger": 
"com.example.SalesPipeline", "timestamp": "2026-06-22T12:00:00Z", "rows": 42}
 
 * ``event`` is the log message.
 * ``level`` is the level **name** in lower case. The following levels are
   supported: ``critical``, ``error``, ``warning``, ``info``, ``debug``, and
   ``notset``. A line carrying any other level is dropped.
-* ``timestamp`` is an ISO-8601 timestamp.
+* ``timestamp`` is an RFC 3339 timestamp with a UTC offset, such as
+  ``2026-06-22T12:00:00Z``. Airflow reads a timestamp without an offset as a
+  time in ``[core] default_timezone``, which is UTC by default. If the worker
+  runs in another time zone, records without an offset then show the wrong time
+  and appear out of order in the task log. Include the seconds even when they
+  are zero. The supervisor fails on a timestamp without seconds, such as
+  ``2026-06-22T12:00``.

Review Comment:
   `process_log_messages_from_subprocess` now catches `msgspec.DecodeError` 
when it decodes the timestamp. If decoding fails, the function moves the value 
of the `timestamp` field to `invalid_timestamp`. `MaybeTimeStamper` then stamps 
the line with the time when the supervisor received it. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to