package tc.oc.commons.core.logging;
import java.util.logging.Logger;
import javax.annotation.Nullable;
public interface Loggers {
Logger get(Logger parent, Class<?> klass, @Nullable String instanceKey);
default Logger get(Class<?> klass, @Nullable String instanceKey) {
return get(defaultLogger(klass), klass, instanceKey);
}
default Logger get(Class<?> klass) {
return get(klass, null);
}
@Nullable Logger find(Class<?> klass, @Nullable String instanceKey);
default @Nullable Logger find(Class<?> klass) {
return find(klass, null);
}
/**
* Return an existing logger suitable for the given class, without creating any new loggers.
*/
Logger defaultLogger(Class<?> klass);
/**
* Return a logger suitable for any class.
*/
Logger defaultLogger();
}