private void sendEvent(Raven raven, final EventBuilder eventBuilder) { raven.runBuilderHelpers(eventBuilder); raven.sendEvent(eventBuilder.build()); }
public void notify(String subject, Map<String, String> extraData) { if (!raven.isPresent()) { return; } final StackTraceElement[] currentThreadStackTrace = Thread.currentThread().getStackTrace(); final EventBuilder eventBuilder = new EventBuilder() .withMessage(getPrefix() + subject) .withLevel(Event.Level.ERROR) .withLogger(getCallingClassName(currentThreadStackTrace)); if (extraData != null && !extraData.isEmpty()) { for (Map.Entry<String, String> entry : extraData.entrySet()) { eventBuilder.withExtra(entry.getKey(), entry.getValue()); } } sendEvent(raven.get(), eventBuilder); } }
public void notify(String message, Throwable t, Map<String, String> extraData) { if (!raven.isPresent()) { return; } final StackTraceElement[] currentThreadStackTrace = Thread.currentThread().getStackTrace(); final EventBuilder eventBuilder = new EventBuilder() .withCulprit(getPrefix() + message) .withMessage(Strings.nullToEmpty(message)) .withLevel(Event.Level.ERROR) .withLogger(getCallingClassName(currentThreadStackTrace)) .withSentryInterface(new ExceptionInterface(t)); if (extraData != null && !extraData.isEmpty()) { for (Map.Entry<String, String> entry : extraData.entrySet()) { eventBuilder.addExtra(entry.getKey(), entry.getValue()); } } sendEvent(raven.get(), eventBuilder); }
public void notify(String message, Throwable t, Map<String, String> extraData) { if (!raven.isPresent()) { return; } final StackTraceElement[] currentThreadStackTrace = Thread.currentThread().getStackTrace(); final EventBuilder eventBuilder = new EventBuilder() .withCulprit(getPrefix() + message) .withMessage(message) .withLevel(Event.Level.ERROR) .withLogger(getCallingClassName(currentThreadStackTrace)) .withSentryInterface(new ExceptionInterface(t)); final Optional<HttpServletRequest> maybeRequest = requestProvider.get(); if (maybeRequest.isPresent()) { eventBuilder.withSentryInterface(new HttpInterface(maybeRequest.get())); } if (extraData != null && !extraData.isEmpty()) { for (Map.Entry<String, String> entry : extraData.entrySet()) { eventBuilder.withExtra(entry.getKey(), entry.getValue()); } } sendEvent(raven.get(), eventBuilder); }
public void notify(String subject, Map<String, String> extraData) { if (!raven.isPresent()) { return; } final StackTraceElement[] currentThreadStackTrace = Thread.currentThread().getStackTrace(); final EventBuilder eventBuilder = new EventBuilder() .withMessage(getPrefix() + subject) .withLevel(Event.Level.ERROR) .withLogger(getCallingClassName(currentThreadStackTrace)); final Optional<HttpServletRequest> maybeRequest = requestProvider.get(); if (maybeRequest.isPresent()) { eventBuilder.withSentryInterface(new HttpInterface(maybeRequest.get())); } if (extraData != null && !extraData.isEmpty()) { for (Map.Entry<String, String> entry : extraData.entrySet()) { eventBuilder.withExtra(entry.getKey(), entry.getValue()); } } sendEvent(raven.get(), eventBuilder); } }
/** * Adds a {@link SentryInterface} to the event. * <p> * If a {@code SentryInterface} with the same interface name has already been added, the new one will replace * the old one. * * @param sentryInterface sentry interface to add to the event. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withSentryInterface(SentryInterface sentryInterface) { return withSentryInterface(sentryInterface, true); }
/** * Sets the logger in the event. * * @param logger logger of the event. * @return the current {@code EventBuilder} for chained calls. * @deprecated Use {@link #withLogger(String)} instead. */ @Deprecated public EventBuilder setLogger(String logger) { return withLogger(logger); }
/** * Generates a checksum from a given content and set it to the current event. * * @param contentToChecksum content to checksum. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withChecksumFor(String contentToChecksum) { return withChecksum(calculateChecksum(contentToChecksum)); }
/** * Sets the timestamp in the event. * * @param timestamp timestamp of the event. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withTimestamp(Date timestamp) { event.setTimestamp(timestamp); return this; }
/** * Sets the platform in the event. * * @param platform platform of the event. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withPlatform(String platform) { event.setPlatform(platform); return this; }
/** * Creates a new EventBuilder to prepare a new {@link Event}. * * @param eventId unique identifier for the new event. */ public EventBuilder(UUID eventId) { this.event = new Event(eventId); }
/** * Sets the log level in the event. * * @param level log level of the event. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withLevel(Event.Level level) { event.setLevel(level); return this; }
/** * Sets the logger in the event. * * @param logger logger of the event. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withLogger(String logger) { event.setLogger(logger); return this; }
/** * Sets the message in the event. * * @param message message of the event. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withMessage(String message) { event.setMessage(message); return this; }
/** * Sets the culprit in the event. * * @param culprit culprit. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withCulprit(String culprit) { event.setCulprit(culprit); return this; }
/** * Sets the serverName in the event. * * @param serverName name of the server responsible for the event. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withServerName(String serverName) { event.setServerName(serverName); return this; }
/** * Sets the checksum for the current event. * <p> * It's recommended to rely instead on the checksum system provided by Sentry. * * @param checksum checksum for the event. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withChecksum(String checksum) { event.setChecksum(checksum); return this; }
/** * Adds an extra property to the event. * * @param extraName name of the extra property. * @param extraValue value of the extra property. * @return the current {@code EventBuilder} for chained calls. */ public EventBuilder withExtra(String extraName, Object extraValue) { event.getExtra().put(extraName, extraValue); return this; }
private void writeObject(ObjectOutputStream stream) throws IOException { stream.defaultWriteObject(); stream.writeObject(convertToSerializable(extra)); }
private void sendEvent(Raven raven, final EventBuilder eventBuilder) { raven.runBuilderHelpers(eventBuilder); raven.sendEvent(eventBuilder.build()); }