JDKSetup.java
package io.jstach.rainbowgum.test.jdk;
import java.time.Instant;
import java.util.ServiceLoader;
import io.jstach.rainbowgum.LogConfig;
import io.jstach.rainbowgum.LogProperties;
import io.jstach.rainbowgum.LogRouter.Router.RouterFactory;
import io.jstach.rainbowgum.RainbowGum;
import io.jstach.rainbowgum.output.ListLogOutput;
import io.jstach.rainbowgum.spi.RainbowGumServiceProvider;
public class JDKSetup {
public static RainbowGum run(ListLogOutput output, System.Logger.Level level, LogProperties properties) {
var config = LogConfig.builder() //
.serviceLoader(ServiceLoader.load(RainbowGumServiceProvider.class)) //
.properties(properties) //
.level(level) //
.build();
RainbowGum.set(() -> RainbowGum.builder(config).route(r -> {
r.appender("list", a -> {
a.output(output);
});
r.factory(RouterFactory.of(e -> e.freeze(Instant.EPOCH)));
}).build());
return RainbowGum.of();
}
}