HomePhabricator

In PhutilLogFileChannel, don't log empty messages

Description

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

Details

Provenance
epriestleyAuthored on Feb 16 2017, 1:46 PM
epriestleyPushed on Feb 18 2017, 12:57 AM
Reviewer
chad
Differential Revision
D17368: In PhutilLogFileChannel, don't log empty messages
Parents
rPHU863226f4e56c: Prevent backtracking on long JSON strings with escape codes
Branches
Unknown
Tags
Unknown
Tasks
T2794: Implement Phage (like Hypershell)
Build Status
Buildable 15690
Build 20727: Run Core Tests