package de.jodamob.android.logging;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Date;
import com.newrelic.agent.android.NewRelic;
public class NewRelicLogger extends RemoteToolLogger {
public NewRelicLogger() {
this(new SilentLogger());
}
public NewRelicLogger(Logging redirectLogger) {
super(new NewRelicReporter(), redirectLogger);
}
private static final class NewRelicReporter implements RemoteReporter {
@Override
public void reportLoggedException(String message, Throwable tr) {
long time = new Date().getTime();
try {
if (message.isEmpty()) {
message = "none";
}
NewRelic.noticeNetworkFailure("http://" + URLEncoder.encode(message, "utf-8"), time, time, new Exception(tr));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
@Override
public void reportWtfException(Throwable tr) {
long time = new Date().getTime();
NewRelic.noticeNetworkFailure("http://WTF", time, time, new Exception(tr));
}
@Override
public void reportWtfException(String message, Throwable tr) {
long time = new Date().getTime();
NewRelic.noticeNetworkFailure("http://WTF", time, time, new Exception(message, tr));
}
}
}