Currently, the Output class is used to write everything to stdout. We would like to be able to generate a file which contains all of the stdout output.
However, since we want the file to exist within the build artifacts directory, and this directory is not created until near the end of the run, we should have a mechanism which can be used to store the stdout output throughout a particular job run, and then write it to a file at the end of the run.
I think the simplest method would be to add some storage capability to the Output class (and container exec calls) ... unless someone can suggest a simple way of tee-ing off stdoutput to a storage buffer during a run.
Comments
Comment #1
isntall commentedComment #2
mile23The way to tee off Output is not use the static Output class and instead use proper dependency injection of the OutputInterface.
Then the OutputInterface object can be whatever we want, including a direct-to-logfile pipe.
We can also use events to trigger logging, including the built-in console error handler which will let us log whatever explodes.
Some work on this here: #2638466: Add a php container to make the codebase easier to test.
Comment #3
MixologicComment #4
MixologicWe've got myriad artifacts and output. I think this is outdated now.