Add an option to not capture stdout and stderr
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 155
- Forks
- 182
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 6
Description
Description
When using ExecuteProcess and its childs, the current mechanism to capture the stdout and re-emit it with a prefix is fine. However, I would like an option to not capture those output.
Motivation
We are using systemd-journal to monitor our logs, and it comes with the added benefit kinda structured logs:
you can filter by executable, command line, stdout vs stderr, etc...
However, by stepping between the difference processes and journald, launch removes this kind of information and add the process name in the MESSAGE field of the journal entry instead of using another variable.
Design / Implementation Considerations
It would probably mean to update osrf_pycommon as well to be able to pass the correct stdout/stderr values to loop.subprocess_exec.
Additional Information
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with ExecuteProcess and its child-process output handling, then inspect the osrf_pycommon path mentioned in the issue and how it calls loop.subprocess_exec. Trace where stdout and stderr are captured and prefixed. Done means an option can leave both streams uncaptured so systemd-journal retains their original process and stream information.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100