package br.gov.servicos.utils; import lombok.experimental.FieldDefaults; import net.logstash.logback.marker.LogstashMarker; import org.eclipse.jgit.lib.BatchingProgressMonitor; import org.slf4j.Logger; import static lombok.AccessLevel.PRIVATE; import static net.logstash.logback.marker.Markers.append; @FieldDefaults(level = PRIVATE, makeFinal = true) public class LogstashProgressMonitor extends BatchingProgressMonitor { Logger log; public LogstashProgressMonitor(Logger log) { this.log = log; } @Override protected void onUpdate(String taskName, int workCurr) { } @Override protected void onEndTask(String taskName, int workCurr) { LogstashMarker marker = append("task", taskName).and(append("work", workCurr)).and(append("done", true)); log.info(marker, taskName); } @Override protected void onUpdate(String taskName, int workCurr, int workTotal, int percentDone) { } @Override protected void onEndTask(String taskName, int workCurr, int workTotal, int percentDone) { LogstashMarker marker = append("task", taskName) .and(append("work", workCurr)) .and(append("total", workTotal)) .and(append("percent", percentDone)) .and(append("done", true)); log.info(marker, taskName); } }