Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • clients: core, metadata, raft, server-common, and storage modules are directly dependent on clients module. So, We should include it.
  • connect
  • core
  • metadata
  • raft
  • storage
  • streams: this module directly depends on clients.
  • embedded zookeeper

The following modules are not the scope of this proposal with some reasons:

  • log4j-appender: This module should not be touched for the users, and its log4j2 equivalent should be provided independently. However, it is above the scope of this proposal.
  • tools: VerifiableLog4jAppender depends on log4j-appender. So, we can't migrate them until log4j2-appender is ready.
  • trogdor: As of this KIP was passed, trogdor was a part of tools. So, it was excluded.

1.

...

clients

slf4j, log4j dependencies (org.slf4j:slf4j-log4j12, log4j:log4j) will be upgraded into log4j2 (org.apache.logging.log4j:log4j-slf4j-impl, org.apache.logging.log4j). The test logging configuration (src/test/resources/log4j.properties) will be migrated into log4j2. (In this case, we don't care about the backward-compatibility.)

2.

...

connect

slf4j, log4j 1.x dependencies will be upgraded into log4j2 and additional log4j2 configuration file will be provided.

...

The test logging configuration (src/test/resources/log4j.properties) will be updated into log4j2.

3. 

...

core

Like connect, slf4j, log4j 1.x dependencies will be upgraded into log4j2 and additional log4j2 configuration file will be provided.

...

slf4j, log4j 1.x dependencies will be upgraded into log4j2 and the he test logging configuration (src/test/resources/log4j.properties) will be migrated into log4j2.

7.

...

streams

slf4j, log4j 1.x dependencies will be upgraded into log4j2 and the he test logging configuration (src/test/resources/log4j.properties) will be migrated into log4j2.

Archetype log4j configuration will be updated into log4j2 equivalent (log4j2.properties).

8. embedded zookeeper

Kafka provides an embedded zookeeper functionality with zookeeper-server-start.[sh|bat]. Since zookeeper's dynamic log level change feature depends on log4j 1.x (especially, Log4j MBean registration feature. see 'Run a JMX console' section here.), we will not support this functionality anymore. If the user runs zookeeper-server-start.[sh|bat], the following message will be displayed:

Code Block
languagebash
Running with log4j 2.x - Log4j MBean registration is not supported.

Compatibility, Deprecation, and Migration Plan

...