TransferBot/src/main/java/it/cavallium/LogServiceImpl.java
2020-10-19 13:59:35 +02:00

32 lines
688 B
Java

package it.cavallium;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import org.slf4j.event.Level;
import reactor.core.publisher.Flux;
import reactor.core.publisher.ReplayProcessor;
public class LogServiceImpl implements LogService {
private static final int SIZE = 1000;
private ReplayProcessor<LogEntry> logs = ReplayProcessor.create(SIZE);
@Override
public Flux<LogEntry> listenUpdates() {
return logs.hide();
}
@Override
public void append(Level level, String message) {
logs.onNext(new LogEntry(System.currentTimeMillis(), level, message));
}
@Override
public int getMaxSize() {
return SIZE;
}
}