class ErrorLogger implements ErrorHandler {

    public <T extends ExceptionWithContext> void log(L level, T throwable) {
        log(level, (Throwable) throwable, throwable.getContext().orElse(ErrorContext.builder().related("Missing Context").build()));
    }

    @Inject public  ErrorLogger(
            PlanPlugin plugin,
            PluginLogger logger,
            PlanFiles files,
            Lazy<ServerProperties> serverProperties,
            Lazy<VersionChecker> versionChecker,
            Lazy<Formatters> formatters
    );

}