我有一个安装了Kafka堆栈的CLUSTER ECS。我的kafka-rest-proxy正在生成INFO日志级别。我试着按照文档调整它,但我的Cloudwatch中一直有INFO日志。
在一篇文章中,我看到传递下面的变量应该会改变日志级别。因为下面的模板:log4j.properties.template
ENV KAFKA_REST_LOG4J_LOGGERS="ERROR"
ENV KAFKA_REST_LOG4J_ROOT_LOGLEVEL="ERROR"
我注意到,即使声明了变量,我的文件也没有改变。是这样吗?
cat /etc/kafka-rest/log4j.properties
log4j.rootLogger=INFO, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxBackupIndex=10
log4j.appender.file.maxFileSize=100MB
log4j.appender.file.File=${kafka-rest.log.dir}/kafka-rest.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] %p %m (%c)%n
CloudWatch
Dockerfile
FROM confluentinc/cp-kafka-rest:7.4.0
USER root
COPY ./kafka-rest.properties /home/appuser/kafka-rest.properties
COPY ./password.properties /home/appuser/password.properties
COPY ./rest-jaas.properties /home/appuser/rest-jaas.properties
EXPOSE 80
ENV KAFKAREST_OPTS="-Djava.security.auth.login.config=/home/appuser/rest-jaas.properties"
ENV KAFKA_REST_LOG4J_LOGGERS="ERROR"
ENV KAFKA_REST_LOG4J_ROOT_LOGLEVEL="ERROR"
CMD kafka-rest-start ./kafka-rest.properties
1条答案
按热度按时间thtygnil1#
不要自己设置
CMD
。这将导致模板化的log4j文件无法加载。run
脚本负责此操作https://github.com/confluentinc/kafka-rest-images/blob/master/kafka-rest/Dockerfile.ubi8#L79
最佳实践也不会设置
USER root
,您应该使用env-vars使用自己的模板设置kafka-rest.properties
,而不是复制此文件,这可能会被覆盖。