[ 
https://issues.apache.org/jira/browse/AIRFLOW-7065?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17060470#comment-17060470
 ] 

ASF GitHub Bot commented on AIRFLOW-7065:
-----------------------------------------

c-wilson commented on pull request #7740: [AIRFLOW-7065] Add optional 
propagation of task std streams to console
URL: https://github.com/apache/airflow/pull/7740
 
 
   Both `stdout` and `stderr` are captured during Task execution to allow 
handling custom log writers. While this is great, there are cases where 
forwarding task execution output to system streams (console) during task 
runtime is advantageous (ie for capture by docker logging drivers). Adding a 
`LogHandler` that wrote to stdout or stderr would result in an infinite loop of 
message forwarding `stdout > StreamLogHandler > logger > stdout > 
StreamLogHander > ...`
   
   This adds a configuration flag ['logging']['task_log_to_console'] which 
enables forwarding of task stream messages to the console when set. This is 
implemented via a new context manager that adds existing system stream targets 
as targets for the `StreamLogWriter`. There is some implementation of log 
target replacement that is essentially duplicated from the stdlib, but I could 
not think of a better way to do this without a subclassing death-spiral. It has 
decent tests, and I do not think that this will be difficult to keep unbroken.
   
   ---
   Issue link: WILL BE INSERTED BY 
[boring-cyborg](https://github.com/kaxil/boring-cyborg)
   
   Make sure to mark the boxes below before creating PR: [x]
   
   - [x] Description above provides context of the change
   - [x] Commit message/PR title starts with `[AIRFLOW-NNNN]`. AIRFLOW-NNNN = 
JIRA ID<sup>*</sup>
   - [x] Unit tests coverage for changes (not needed for documentation changes)
   - [x] Commits follow "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)"
   - [x] Relevant documentation is updated including usage instructions.
   - [x] I will engage committers as explained in [Contribution Workflow 
Example](https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#contribution-workflow-example).
   
   <sup>*</sup> For document-only changes commit message can start with 
`[AIRFLOW-XXXX]`.
   
   ---
   In case of fundamental code change, Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals))
 is needed.
   In case of a new dependency, check compliance with the [ASF 3rd Party 
License Policy](https://www.apache.org/legal/resolved.html#category-x).
   In case of backwards incompatible changes please leave a note in 
[UPDATING.md](https://github.com/apache/airflow/blob/master/UPDATING.md).
   Read the [Pull Request 
Guidelines](https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#pull-request-guidelines)
 for more information.
   
 
----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Give StreamLogHandler ability to tee to log and console
> -------------------------------------------------------
>
>                 Key: AIRFLOW-7065
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-7065
>             Project: Apache Airflow
>          Issue Type: Improvement
>          Components: logging
>    Affects Versions: 1.10.9
>            Reporter: Christopher
>            Assignee: Christopher
>            Priority: Minor
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> It would be helpful in some use case (ie log aggregation) to have Airflow 
> task output stream to console as well as go through the Airflow logger. 
> Currently stdout and stderr are captured and sent only to the logger - 
> putting a StreamLogHandler in the logging chain results in an infinite 
> recursion.
> I propose adding a configuration flag [core][task_console_output] that would 
> allow safe display of messages in the console as well as propagation to the 
> Airflow logging chain.
> I will put in a PR for this shortly and see how it goes.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to