blob: de263c57c928e63ca9e9a6a4f2adfea0f35154eb [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Unspecified loggers and loggers with additivity=true output to server.log and stdout
# Note that INFO only applies to unspecified loggers, the log level of the child logger is used otherwise
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}/state-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: INFO
AppenderRef:
- ref: STDOUT
- ref: KafkaAppender
Logger:
# Kafka logger
- name: kafka
level: INFO
# Kafka org.apache logger
- name: org.apache.kafka
level: INFO
# 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: INFO
additivity: false
AppenderRef:
ref: ControllerAppender
# LogCleaner logger
- name: org.apache.kafka.storage.internals.log.LogCleaner
level: INFO
additivity: false
AppenderRef:
ref: CleanerAppender
- name: org.apache.kafka.storage.internals.log.LogCleaner$CleanerThread
level: INFO
additivity: false
AppenderRef:
ref: CleanerAppender
- name: org.apache.kafka.storage.internals.log.Cleaner
level: INFO
additivity: false
AppenderRef:
ref: CleanerAppender
# State change logger
- name: state.change.logger
level: INFO
additivity: false
AppenderRef:
ref: StateChangeAppender
# Authorizer logger
- name: kafka.authorizer.logger
level: INFO
additivity: false
AppenderRef:
ref: AuthorizerAppender