71.2. logging
Kafka Connect에는 구성 가능한 자체 로거가 있습니다.
-
connect.root.logger.level
-
log4j.logger.org.reflections
추가 로거는 실행 중인 Kafka Connect 플러그인에 따라 추가됩니다.
curl 요청을 사용하여 Kafka 브로커 포드에서 실행되는 Kafka Connect 로거의 전체 목록을 가져옵니다.
curl -s http://<connect-cluster-name>-connect-api:8083/admin/loggers/
curl -s http://<connect-cluster-name>-connect-api:8083/admin/loggers/
Kafka Connect는 Apache log4j
로거 구현을 사용합니다.
logging
속성을 사용하여 로거 및 로거 수준을 구성합니다.
로거 및 수준을 직접 (인라인) 지정하거나 사용자 지정(외부) ConfigMap을 사용하여 로그 수준을 설정할 수 있습니다. ConfigMap을 사용하는 경우 logging.valueFrom.configMapKeyRef.name
속성을 외부 로깅 구성이 포함된 ConfigMap 이름으로 설정합니다. ConfigMap 내부에서 로깅 구성은 log4j.properties
를 사용하여 설명합니다. logging.valueFrom.configMapKeyRef.name
및 logging.valueFrom.configMapKeyRef.key
속성은 모두 필수입니다. 지정된 정확한 로깅 구성을 사용하는 ConfigMap은 Cluster Operator가 실행될 때 사용자 정의 리소스와 함께 생성된 다음 각 조정 후 다시 생성됩니다. 사용자 정의 ConfigMap을 지정하지 않으면 기본 로깅 설정이 사용됩니다. 특정 로거 값을 설정하지 않으면 해당 로거에 대해 상위 수준 로거 설정이 상속됩니다. 로그 수준에 대한 자세한 내용은 Apache 로깅 서비스를 참조하십시오.
여기서는 인라인
및 외부
로깅의 예를 참조하십시오. 인라인
로깅은 루트 로거 수준을 지정합니다. loggers 속성에 추가하여 특정 클래스 또는 로거의 로그 수준을 설정할 수도 있습니다.
인라인 로깅
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnect spec: # ... logging: type: inline loggers: connect.root.logger.level: INFO log4j.logger.org.apache.kafka.connect.runtime.WorkerSourceTask: TRACE log4j.logger.org.apache.kafka.connect.runtime.WorkerSinkTask: DEBUG # ...
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
spec:
# ...
logging:
type: inline
loggers:
connect.root.logger.level: INFO
log4j.logger.org.apache.kafka.connect.runtime.WorkerSourceTask: TRACE
log4j.logger.org.apache.kafka.connect.runtime.WorkerSinkTask: DEBUG
# ...
로그 수준을 DEBUG
로 설정하면 많은 양의 로그 출력이 발생할 수 있으며 성능에 영향을 미칠 수 있습니다.
외부 로깅
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnect spec: # ... logging: type: external valueFrom: configMapKeyRef: name: customConfigMap key: connect-logging.log4j # ...
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
spec:
# ...
logging:
type: external
valueFrom:
configMapKeyRef:
name: customConfigMap
key: connect-logging.log4j
# ...
구성되지 않은 사용 가능한 로거는 수준이 OFF
로 설정되어 있습니다.
Kafka Connect가 Cluster Operator를 사용하여 배포된 경우 Kafka Connect 로깅 수준에 대한 변경 사항이 동적으로 적용됩니다.
외부 로깅을 사용하는 경우 로깅 appender가 변경될 때 롤링 업데이트가 트리거됩니다.
가비지 수집기(GC)
jvmOptions
속성을 사용하여 가비지 수집기 로깅을 활성화하거나 비활성화할 수도 있습니다.