RollingConfigurator.java
package io.jstach.rainbowgum.rolling;
import io.jstach.rainbowgum.LogConfig;
import io.jstach.rainbowgum.LogOutput;
import io.jstach.rainbowgum.file.FileOutput;
import io.jstach.rainbowgum.spi.RainbowGumServiceProvider;
import io.jstach.svc.ServiceProvider;
/**
* Registers the two URI schemes {@code rainbowgum-file} provides:
* {@value LogOutput#FILE_SCHEME} (so {@code file:///path/to/app.log} resolves to a
* {@link FileOutput} - {@code core} on its own has no such registration) and
* {@value RollingFileOutput#ROLLING_SCHEME} (so {@code rolling:///path/to/app.log}
* resolves to a {@link RollingFileOutput}).
*/
@ServiceProvider(RainbowGumServiceProvider.class)
public class RollingConfigurator implements RainbowGumServiceProvider.Configurator {
/**
* No arg for service loader.
*/
public RollingConfigurator() {
}
@Override
public boolean configure(LogConfig config, Pass pass) {
config.outputRegistry().register(LogOutput.FILE_SCHEME, FileOutput::of);
config.outputRegistry().register(RollingFileOutput.ROLLING_SCHEME, RollingFileOutput::of);
return true;
}
}