One minor point, if this is within your power: don't marshal data over stdout; sometimes libraries scribble on it. Open an arbitrary additional file descriptor - say, 7 - and put your marshalled data there.
Definitely never use stderr for marshaling anything but lines of text - you're not gonna get away with that :-). Even well-behaved libraries sometimes dump random text to stderr, that's what it's there for, so you don't do it with stdout! Subunit has some really interesting ideas here - it's not Twisted code, but it does deal with communicating structured data over stdio streams in such a way that random overzealous SSH MOTD messages won't ruin your day: https://github.com/testing-cabal/subunit/tree/0e9f67b9683bf2c8c82edb4e511d9b2c7708d900#version-2 <https://github.com/testing-cabal/subunit/tree/0e9f67b9683bf2c8c82edb4e511d9b2c7708d900#version-2> Hope this is helpful, -g > On Dec 30, 2020, at 9:12 PM, Tom Most <t...@freecog.net> wrote: > > I'm not entirely following the question (is the log output intermixed with > other data on stdout?) but I think that you might find the implementation of > twisted.internet.endpoints.ProcessEndpoint a useful example. It relays stderr > to the logging stream: > https://github.com/twisted/twisted/blob/c8064075a207af1fc9ce19d8f885a986bc5ab00c/src/twisted/internet/endpoints.py#L336-L479 > > <https://github.com/twisted/twisted/blob/c8064075a207af1fc9ce19d8f885a986bc5ab00c/src/twisted/internet/endpoints.py#L336-L479> > > ---Tom > > On Wed, Dec 30, 2020, at 11:38 AM, Robert DiFalco wrote: >> Can anyone point me to some sample code for handling logging with >> SpawnProcess? Right now I'm using an EchoProtocol that takes stdout and >> resends it to the log. But it's kludgy because some sub-processes use >> stdin/stderr for marshaling data. What I'd most like to do is separate data >> transfer from log output in a clean way. >> _______________________________________________ >> Twisted-Python mailing list >> Twisted-Python@twistedmatrix.com <mailto:Twisted-Python@twistedmatrix.com> >> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python >> <https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python> >> > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com <mailto:Twisted-Python@twistedmatrix.com> > https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > <https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python>
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python