jason810496 opened a new pull request, #66994:
URL: https://github.com/apache/airflow/pull/66994

   
   ## Why
   
   ``[logging] logging_config_class`` is documented as a "Logging class" but 
actually resolves to a ``logging.config.dictConfig`` dict, and the 
``REMOTE_TASK_LOG`` / ``DEFAULT_REMOTE_CONN_ID`` side channel that powers 
remote log read-back was **undocumented**.
   
   So custom configs silently lost UI log read-back, and 
``ElasticsearchTaskHandler`` / ``OpensearchTaskHandler`` papered over it by 
self-registering from inside ``__init__``.
   
   ## How
   
   - Document the real contract for ``logging_config_class`` (dict, not class) 
and the ``REMOTE_TASK_LOG`` / ``DEFAULT_REMOTE_CONN_ID`` module-level 
attributes in the config option help, ``advanced-logging-configuration.rst``, 
and ``discover_remote_log_handler`` docstring.
   - Deprecate the ES/OS handler self-registration with 
``AirflowProviderDeprecationWarning`` (``stacklevel=1`` so module-based filters 
match through ``dictConfig``) and update the OpenSearch logging guide to set 
``REMOTE_TASK_LOG`` at module scope.
   - Add warning for the case that "user module is missing ``REMOTE_TASK_LOG`` 
while ``remote_logging`` is on".
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [x] Yes, with help of Claude Code Opus 4.7 following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   


-- 
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