![JAR search and dependency download from the Maven repository](/logo.png)
org.graylog2.log.GelfJsonAppender Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gelfj Show documentation
Show all versions of gelfj Show documentation
GELF implementation in Java and log4j appender without any dependencies.
The newest version!
package org.graylog2.log;
import java.util.Map;
import org.apache.log4j.spi.ErrorCode;
import org.apache.log4j.spi.LoggingEvent;
import org.graylog2.GelfMessage;
import org.graylog2.GelfMessageFactory;
import org.graylog2.GelfSenderResult;
import org.json.simple.JSONValue;
/**
* A GelfAppender which will parse the given JSON message into additional fields in GELF
*
* @author Anton Yakimov
* @author Jochen Schalanda
* @author the-james-burton
*/
public class GelfJsonAppender extends GelfAppender {
@Override
protected void append(final LoggingEvent event) {
GelfMessage gelfMessage = GelfMessageFactory.makeMessage(layout, event, this);
@SuppressWarnings("unchecked")
Map fields = (Map) JSONValue.parse(event.getMessage().toString());
if (fields != null) {
for (String key : fields.keySet()) {
gelfMessage.getAdditonalFields().put(key, fields.get(key));
}
}
if (getGelfSender() == null) {
errorHandler.error("Could not send GELF message. Gelf Sender is not initialised and equals null");
} else {
GelfSenderResult gelfSenderResult = getGelfSender().sendMessage(gelfMessage);
if (!GelfSenderResult.OK.equals(gelfSenderResult)) {
errorHandler.error("Error during sending GELF message. Error code: " + gelfSenderResult.getCode() + ".",
gelfSenderResult.getException(), ErrorCode.WRITE_FAILURE);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy