static void configure(final Properties properties) {
        final Optional<String> logPath = Optional.ofNullable(properties.getProperty("log_path"));
        final Optional<String> logLevel = Optional.ofNullable(properties.getProperty("log_level"));
        final URL configurationResource = chooseConfigurationResource(logPath);
        final ClassLoader classLoader = CliLogbackConfigurator.class.getClassLoader();
        try {
            new CliLogbackConfigurator(classLoader).configureLogger(logLevel, configurationResource);
        } catch (final LogbackException ex) {
            final Throwable cause = ex.getCause();
            if (cause instanceof ReflectiveOperationException) {
                System.err.println("Failed in loading Logback classes.");
            } else {
                System.err.println("Failed in configuring Logback.");
            }
            cause.printStackTrace();
        }
    }
Configures Logback's root logger.

<p>It calls Logback's configurators through reflection so that embulk-core does not need to depend on Logback's classes.
embulk-core/src/main/java/org/embulk/cli/CliLogbackConfigurator.java