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

estonlabs.cxtl.common.http.LogFileMetricsLogger Maven / Gradle / Ivy

There is a newer version: 1.4.14
Show newest version
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