Adds Graylog2 transport support

do you think it should throw an error? maybe we could have it return false or some object - one potential downside to throwing an error would be that the entire app would crash (unless we handle that error somehow). I could see a case of logging a user object or some long object and the entire app crashing