Use an agent for debug logging, instead of locking
Ignore more kinds of IO errors
Put descriptions on our channels