/** * 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; }
/** * Ensures that every field in the {@code Event} are immutable to avoid confusion later. * * @param event event to make immutable. */ private static void makeImmutable(Event event) { // Make the tags unmodifiable event.setTags(Collections.unmodifiableMap(event.getTags())); // Make the extra properties unmodifiable (everything in it is still mutable though) event.setExtra(Collections.unmodifiableMap(event.getExtra())); // Make the SentryInterfaces unmodifiable event.setSentryInterfaces(Collections.unmodifiableMap(event.getSentryInterfaces())); }
private void writeContent(JsonGenerator generator, Event event) throws IOException { generator.writeStartObject(); generator.writeStringField(EVENT_ID, formatId(event.getId())); generator.writeStringField(MESSAGE, formatMessage(event.getMessage())); generator.writeStringField(TIMESTAMP, ISO_FORMAT.get().format(event.getTimestamp())); generator.writeStringField(LEVEL, formatLevel(event.getLevel())); generator.writeStringField(LOGGER, event.getLogger()); generator.writeStringField(PLATFORM, event.getPlatform()); generator.writeStringField(CULPRIT, event.getCulprit()); writeTags(generator, event.getTags()); generator.writeStringField(SERVER_NAME, event.getServerName()); writeExtras(generator, event.getExtra()); generator.writeStringField(CHECKSUM, event.getChecksum()); writeInterfaces(generator, event.getSentryInterfaces()); generator.writeEndObject(); }