log hook messages to stderr #2293
Merged
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.
Describe your changes
_log
in run-hooks.sh, like start.sh (needs to redefine it for unnittests only, could split into a common utility file)_log
writes to stderr instead of stdout for easier output capture (piping, etc.)In general, it's a good practice to avoid logging to stdout, since it means you can't capture command output with pipes, e.g.
because it will include the 'uid: 1000`, etc. messages.
Checklist (especially for first-time contributors)
I looked through the tests, and it's tricky because the tests run with
tty: true
, in which case docker merges stdout and stderr, so can't test the splitting is correct. Running withtty: false
, e.g.docker run --rm -i pwd > stdout.txt 2>stderr.txt
does the right thing in a manual test. I'm just not 100% sure of the best way to add a test case for that with the current infrastructure.