在Debian系统上配置Kafka日志,你需要编辑Kafka的配置文件server.properties。这个文件通常位于Kafka安装目录的config文件夹中。以下是一些常见的日志配置选项:
日志级别:
log4j.rootLogger: 设置根日志记录器的级别和输出目的地。log4j.rootLogger=INFO, stdout, file
log4j.appender.stdout: 配置标准输出(控制台)的日志记录器。log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.file: 配置文件输出的日志记录器。log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/var/log/kafka/server.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
日志滚动策略:
log4j.appender.file.MaxFileSize: 设置单个日志文件的最大大小。log4j.appender.file.MaxBackupIndex: 设置保留的旧日志文件的最大数量。日志格式:
ConversionPattern: 定义日志消息的格式。日志目录:
sudo mkdir -p /var/log/kafka
sudo chown kafka:kafka /var/log/kafka
编辑完server.properties文件后,重启Kafka服务以应用更改:
sudo systemctl restart kafka
以下是一个完整的server.properties示例,包含了日志配置:
# The directory under which the log files will be stored.
log.dirs=/var/log/kafka
# List of comma-separated host:port pairs to use for all cluster communication.
listeners=PLAINTEXT://your.host.name:9092
# The address the socket server listens on. It will get the value returned from
# java.net.InetAddress.getCanonicalHostName() if not configured.
advertised.listeners=PLAINTEXT://your.host.name:9092
# The port the socket server listens on.
port=9092
# Hostname for the server.
host.name=your.host.name
# The number of partitions for each topic.
num.partitions=1
# The default number of log partitions per topic. More partitions allow greater
# parallelism for consumption and better performance.
default.replication.factor=1
# The minimum age of a log file to be eligible for deletion due to compaction.
log.retention.hours=168
# The maximum size of the log files.
log.segment.bytes=1073741824
# The interval at which log segments are checked to see if they can be deleted
# according to the retention policies.
log.retention.check.interval.ms=300000
# The configuration specifies a threshold that the JMX exporter will use
# for triggering a GC action when memory usage is above this threshold.
jmx.port=9999
# The root logger level.
log4j.rootLogger=INFO, stdout, file
# Console appender configuration
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# File appender configuration
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/var/log/kafka/server.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
请根据你的实际需求调整这些配置。