@Override
    protected void configure() {

        try (InputStream logbackConfiguration = getLogbackConfiguration()) {

            LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
            context.reset();

            // Initialize logback
            JoranConfigurator configurator = new JoranConfigurator();
            configurator.setContext(context);
            configurator.doConfigure(logbackConfiguration);

            // Dump any errors that occur during logback init
            StatusPrinter.printInCaseOfErrorsOrWarnings(context);

        }
        catch (JoranException e) {
            logger.error("Initialization of logback failed: {}", e.getMessage());
            logger.debug("Unable to load logback configuration.", e);
        }
        catch (IOException e) {
            logger.warn("Logback configuration file could not be cleanly closed: {}", e.getMessage());
            logger.debug("Failed to close logback configuration file.", e);
        }

    }
Returns an InputStream that streams the contents of the "logback.xml"
file that Logback should read to configure logging to Guacamole. If the
user provided their own "logback.xml" within GUACAMOLE_HOME, this will
be an InputStream that reads the contents of that file. The required
"logback.xml" will otherwise be dynamically generated based on the value
of the "log-level" property.

@return
    An InputStream that streams the contents of the "logback.xml" file
    that Logback should read to configure logging to Guacamole.
guacamole/src/main/java/org/apache/guacamole/log/LogModule.java