Clarify logging_config_class contract and document REMOTE_TASK_LOG#67104
Open
jason810496 wants to merge 1 commit into
Open
Clarify logging_config_class contract and document REMOTE_TASK_LOG#67104jason810496 wants to merge 1 commit into
logging_config_class contract and document REMOTE_TASK_LOG#67104jason810496 wants to merge 1 commit into
Conversation
``[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. Custom configs silently lost UI log read-back as a result. - 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 the ``discover_remote_log_handler`` docstring. - Add a startup ``WARNING`` when ``remote_logging`` is on but the user's logging module is missing ``REMOTE_TASK_LOG``, emitted from ``configure_logging`` after ``dictConfig`` runs so it sees the final state.
This was referenced May 18, 2026
Contributor
|
@jason810496 I wanna take a look at this one but do not have b/w atm, will do soon |
Contributor
|
I think we will need to bump airflow/scripts/ci/prek/update_airflow_pyproject_toml.py Lines 91 to 92 in 6082d6a as part of this PR but we will need to wait for providers to be released |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
[logging] logging_config_classis documented as a "Logging class" but actually resolves to alogging.config.dictConfigdict, and theREMOTE_TASK_LOG/DEFAULT_REMOTE_CONN_IDside channel that powers remote log read-back was undocumented.So custom configs silently lost UI log read-back, and
ElasticsearchTaskHandler/OpensearchTaskHandlerpapered over it by self-registering from inside__init__. The provider-side deprecation of that self-registration is split into follow-up PRs (one forelasticsearch, one foropensearch); this PR is the core/SDK/shared-library piece they depend on.How
logging_config_class(dict, not class) and theREMOTE_TASK_LOG/DEFAULT_REMOTE_CONN_IDmodule-level attributes in the config option help,advanced-logging-configuration.rst, and thediscover_remote_log_handlerdocstring.WARNINGfor the case that "user module is missingREMOTE_TASK_LOGwhileremote_loggingis on". The warning is emitted fromconfigure_loggingafterdictConfigruns, so the check sees the final state — important because the deprecated ES/OS self-registration path populates_ActiveLoggingConfig.remote_task_logfrom inside the handler__init__.remote_logging_enabledparameter fromdiscover_remote_log_handler(no longer needed now that the warning lives inconfigure_logging)._warn_if_missing_remote_task_log.Was generative AI tooling used to co-author this PR?