All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.coaxys.log4slack.SlackAppender Maven / Gradle / Ivy

package com.coaxys.log4slack;

import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
import com.mashape.unirest.http.exceptions.UnirestException;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.Layout;
import org.apache.log4j.Level;
import org.apache.log4j.spi.LoggingEvent;

import java.util.Calendar;
import java.util.Date;

public class SlackAppender extends AppenderSkeleton {

    private String url = "";

    @Override
    protected void append(LoggingEvent event) {
        if (url != null && url.length() > 0 && event.getLevel() == Level.ERROR) {
            try {
                HttpResponse response = Unirest.post(url)
                        .header("accept", "application/json")
                        .body(LoggingEventSlackifier.slackinify(event))
                        .asString();
                String statusText = response.getStatusText();
                System.out.println(statusText);
            } catch (UnirestException e) {
                e.printStackTrace();
            }
        }
    }

    public void close() {
    }

    public boolean requiresLayout() {
        return false;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy