@Override protected void configure() { super.configure(); switch (eventTrackerConfig.getType()) { case COLLECTOR: final EventSender httpSender = new HttpSender( eventTrackerConfig.getCollectorHost(), eventTrackerConfig.getCollectorPort(), eventTrackerConfig.getEventType(), eventTrackerConfig.getHttpMaxWaitTimeInMillis(), eventTrackerConfig.getHttpMaxKeepAlive().getMillis(), eventTrackerConfig.getHttpWorkersPoolSize() ); bind(EventSender.class).toInstance(httpSender); log.info("Enabled HTTP Event Logging"); break; case NO_LOGGING: bind(EventSender.class).to(NoLoggingSender.class).asEagerSingleton(); log.info("Disabled Event Logging"); break; default: throw new IllegalStateException("Unknown type " + eventTrackerConfig.getType()); } } }