Configuration: Properties: Property: # Fallback if the system property is not set - name: "kafka.logs.dir" value: "." - name: "logPattern" value: "[%d] %p %m (%c)%n" # Appenders configuration # See: https://logging.apache.org/log4j/2.x/manual/appenders.html Appenders: Console: name: STDOUT PatternLayout: pattern: "${logPattern}" RollingFile: - name: KafkaAppender fileName: "${sys:kafka.logs.dir}/server.log" filePattern: "${sys:kafka.logs.dir}/server.log.%d{yyyy-MM-dd-HH}" PatternLayout: pattern: "${logPattern}" TimeBasedTriggeringPolicy: modulate: true interval: 1 # State Change appender - name: StateChangeAppender fileName: "${sys:kafka.logs.dir}/state-change.log" filePattern: "${sys:kafka.logs.dir}/stage-change.log.%d{yyyy-MM-dd-HH}" PatternLayout: pattern: "${logPattern}" TimeBasedTriggeringPolicy: modulate: true interval: 1 # Request appender - name: RequestAppender fileName: "${sys:kafka.logs.dir}/kafka-request.log" filePattern: "${sys:kafka.logs.dir}/kafka-request.log.%d{yyyy-MM-dd-HH}" PatternLayout: pattern: "${logPattern}" TimeBasedTriggeringPolicy: modulate: true interval: 1 # Cleaner appender - name: CleanerAppender fileName: "${sys:kafka.logs.dir}/log-cleaner.log" filePattern: "${sys:kafka.logs.dir}/log-cleaner.log.%d{yyyy-MM-dd-HH}" PatternLayout: pattern: "${logPattern}" TimeBasedTriggeringPolicy: modulate: true interval: 1 # Controller appender - name: ControllerAppender fileName: "${sys:kafka.logs.dir}/controller.log" filePattern: "${sys:kafka.logs.dir}/controller.log.%d{yyyy-MM-dd-HH}" PatternLayout: pattern: "${logPattern}" TimeBasedTriggeringPolicy: modulate: true interval: 1 # Authorizer appender - name: AuthorizerAppender fileName: "${sys:kafka.logs.dir}/kafka-authorizer.log" filePattern: "${sys:kafka.logs.dir}/kafka-authorizer.log.%d{yyyy-MM-dd-HH}" PatternLayout: pattern: "${logPattern}" TimeBasedTriggeringPolicy: modulate: true interval: 1 # Loggers configuration # See: https://logging.apache.org/log4j/2.x/manual/configuration.html#configuring-loggers Loggers: Root: level: WARN AppenderRef: - ref: STDOUT - ref: KafkaAppender Logger: # Kafka logger - name: kafka level: WARN # Kafka org.apache logger - name: org.apache.kafka level: WARN # Kafka request logger - name: kafka.request.logger level: WARN additivity: false AppenderRef: ref: RequestAppender # Uncomment the lines below and change log4j.logger.kafka.network.RequestChannel$ to TRACE # for additional output related to the handling of requests # - name: kafka.network.Processor # level: TRACE # additivity: false # AppenderRef: # ref: RequestAppender # - name: kafka.server.KafkaApis # level: TRACE # additivity: false # AppenderRef: # ref: RequestAppender # Kafka network RequestChannel$ logger - name: kafka.network.RequestChannel$ level: WARN additivity: false AppenderRef: ref: RequestAppender # Controller logger - name: org.apache.kafka.controller level: WARN additivity: false AppenderRef: ref: ControllerAppender # LogCleaner logger - name: kafka.log.LogCleaner level: WARN additivity: false AppenderRef: ref: CleanerAppender # State change logger - name: state.change.logger level: WARN additivity: false AppenderRef: ref: StateChangeAppender # Authorizer logger - name: kafka.authorizer.logger level: WARN additivity: false AppenderRef: ref: AuthorizerAppender