Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-7468

[Java Broker] Upgrade logback to 1.1.11 and SLF4J to 1.7.24

    XMLWordPrintableJSON

Details

    Description

      The current version used in qpid-broker 6.0.4 for logback is 1.1.3. With the version 1.1.7 logback broke backwards compatibility in StatusManager interface (ch.qos.logback.core.status.StatusManager).

      After this change, BrokerFileLoggerImpl is failing to add the `BrokerFileLoggerStatusListener` to the loggerContext due to binary incompatibility (See line 210 of BrokerFileLoggerImpl for more info).

       @Override
          protected Appender<ILoggingEvent> createAppenderInstance(Context loggerContext)
          {
              SystemConfig<?> systemConfig = (SystemConfig<?>)getParent(Broker.class).getParent(SystemConfig.class);
              _logbackStatusListener = new BrokerFileLoggerStatusListener(this, systemConfig);
              _statusManager = loggerContext.getStatusManager();
              _statusManager.add(_logbackStatusListener);
      
              final RollingFileAppender<ILoggingEvent> appender = new RollingFileAppender<>();
              AppenderUtils.configureRollingFileAppender(this, loggerContext, appender);
              return appender;
          }
      

      We've noticed this after update spring boot to the latest version 1.4.1.Release which includes logback 1.1.7.

      As a workaround, you can still downgrade your version of logback in your project to 1.1.3 but it would be nice to have it upgraded

      Attachments

        1. upgradeLogBack_1_1_10.diff
          8 kB
          Robert Godfrey
        2. upgradeLogBack_1_1_7.diff
          4 kB
          Robert Godfrey

        Issue Links

          Activity

            People

              orudyy Alex Rudyy
              pobla Alberto
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: