variablize io to allow for different logging endpoints