
estonlabs.cxtl.common.http.LogFileMetricsLogger Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cxtl Show documentation
Show all versions of cxtl Show documentation
CXTL – Crypto eXchange Trading Library
package estonlabs.cxtl.common.http;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Logs metrics to a file
*/
public class LogFileMetricsLogger implements MetricsLogger{
public static final LogFileMetricsLogger INSTANCE = new LogFileMetricsLogger();
private static final Logger LOGGER = LoggerFactory.getLogger(LogFileMetricsLogger.class);
@Override
public void finishedSuccess(Event> event) {
log(event, "SUCCESS");
}
@Override
public void finishedError(Event> event) {
log(event, "FAIL");
}
private static void log(Event> event, String info) {
long now = System.nanoTime();
LOGGER.info("[{}] OUT=[{}],IN=[{}],TRIP={}, PROCESS={}", info, event.getRequestInfo(), event.getResponseJson(),mics(event.getRequestNanos(), event.getResponseNanos()),mics(event.getResponseNanos(),now));
}
private static long mics(long startNano, long endNano){
return (endNano - startNano) / 1000; // divide by 1000 to convert to microseconds
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy