
com.newrelic.labs.LogForwarder Maven / Gradle / Ivy
package com.newrelic.labs;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.BlockingQueue;
import java.util.zip.GZIPOutputStream;
import com.fasterxml.jackson.databind.ObjectMapper;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class LogForwarder {
private final BlockingQueue logQueue;
private final String apiKey;
private final String apiURL;
private final OkHttpClient client = new OkHttpClient();
private final ObjectMapper objectMapper = new ObjectMapper();
private final long maxMessageSize;
public LogForwarder(String apiKey, String apiURL, long maxMessageSize, BlockingQueue logQueue) {
this.apiKey = apiKey;
this.apiURL = apiURL;
this.maxMessageSize = maxMessageSize;
this.logQueue = logQueue;
}
public boolean isInitialized() {
return apiKey != null && apiURL != null;
}
public void flush(List logEntries) {
InetAddress localhost = null;
try {
localhost = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
String hostname = localhost != null ? localhost.getHostName() : "unknown";
try {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy