In PhutilLogFileChannel, don't log empty messages
Summary:
Ref T2794. The LogFile channel is used to debug another channel by sending all the messages to a logfile.
We perform empty (zero-length) reads over nonblocking channels in various reasonable situations. Currently, these get written to the logfile as empty lines. However, they are probably never useful.
Instead, only write data if it has nonzero length.
Test Plan: After this change, debugging output from the experimental Phage stuff no longer fills up the protocol logfile with tons of empty messages.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T2794
Differential Revision: https://secure.phabricator.com/D17368