fork of limnoria's ChannelLogger for our own use