2017-12-20 37 views
0

log4jを使用して、すべてのspring-kafka設定をログに記録する方法はありますか?私は、アプリケーションlog4j2.ymlで以下のロガー設定を試してみましたが、すべての情報とデバッグログが表示されますが、設定は表示されませんでした。 - 名前:org.springframework.kafka 加法:偽 レベル:情報/デバッグ AppenderRef: - REF:助けを事前にSOME_APPENDER 感謝。log4jを使用してログのspring kafka設定を印刷する方法

答えて

0

本当にApache Kafka Clientに適用されるプロパティについてのみ心配する必要があると思います。それはSpringカフカの設定もカバーします。この目的のためにorg.apache.kafka.clientsカテゴリのINFOを設定する必要があります。

そして、これは私のテストの1からのログです:

16:55:20.616 INFO [main][org.apache.kafka.clients.consumer.ConsumerConfig] ConsumerConfig values: 
    auto.commit.interval.ms = 10 
    auto.offset.reset = earliest 
    bootstrap.servers = [127.0.0.1:56505] 
    check.crcs = true 
    client.id = 
    connections.max.idle.ms = 540000 
    enable.auto.commit = false 
    exclude.internal.topics = true 
    fetch.max.bytes = 52428800 
    fetch.max.wait.ms = 500 
    fetch.min.bytes = 1 
    group.id = blc 
    heartbeat.interval.ms = 3000 
    interceptor.classes = null 
    internal.leave.group.on.close = true 
    isolation.level = read_uncommitted 
    key.deserializer = class org.apache.kafka.common.serialization.IntegerDeserializer 
    max.partition.fetch.bytes = 1048576 
    max.poll.interval.ms = 300000 
    max.poll.records = 500 
    metadata.max.age.ms = 300000 
    metric.reporters = [] 
    metrics.num.samples = 2 
    metrics.recording.level = INFO 
    metrics.sample.window.ms = 30000 
    partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor] 
    receive.buffer.bytes = 65536 
    reconnect.backoff.max.ms = 1000 
    reconnect.backoff.ms = 50 
    request.timeout.ms = 305000 
    retry.backoff.ms = 100 
    sasl.jaas.config = null 
    sasl.kerberos.kinit.cmd = /usr/bin/kinit 
    sasl.kerberos.min.time.before.relogin = 60000 
    sasl.kerberos.service.name = null 
    sasl.kerberos.ticket.renew.jitter = 0.05 
    sasl.kerberos.ticket.renew.window.factor = 0.8 
    sasl.mechanism = GSSAPI 
    security.protocol = PLAINTEXT 
    send.buffer.bytes = 131072 
    session.timeout.ms = 60000 
    ssl.cipher.suites = null 
    ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1] 
    ssl.endpoint.identification.algorithm = null 
    ssl.key.password = null 
    ssl.keymanager.algorithm = SunX509 
    ssl.keystore.location = null 
    ssl.keystore.password = null 
    ssl.keystore.type = JKS 
    ssl.protocol = TLS 
    ssl.provider = null 
    ssl.secure.random.implementation = null 
    ssl.trustmanager.algorithm = PKIX 
    ssl.truststore.location = null 
    ssl.truststore.password = null 
    ssl.truststore.type = JKS 
    value.deserializer = class org.apache.kafka.common.serialization.StringDeserializer 
0

これは私のために正常に動作します...

Configutation: 
    name: Default 

    Properties: 
    Property: 
     name: log-path 
     value: "logs" 

    Appenders: 

    Console: 
     name: Console_Appender 
     target: SYSTEM_OUT 
     PatternLayout: 
     pattern: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" 

    Loggers: 

     Root: 
     level: warn 
     AppenderRef: 
      - ref: Console_Appender 

     Logger: 
     - name: org.apache.kafka 
      level: info 
      AppenderRef: 
      - ref: Console_Appender 

[INFO ] 2017-12-20 17:00:08.591 [main] ProducerConfig - ProducerConfig values: 
    acks = 1 
    batch.size = 16384 
    bootstrap.servers = [localhost:9092] 
    buffer.memory = 33554432 
    ... 
+0

私はその組織の認識しています.apache.kafkaはすべてのKafkaクライアントのプロパティを記録しますが、Spring Kafkaのプロパティを記録したかったのです。例次のSpring Kafkaの小道具でアプリケーションを設定した場合、それらの設定をログに表示することができますが、これらの小道具は「org.apache.kafka」の一部として表示されません 'spring: kafka: consumer: enable-auto-commit:false リスナー: ack-mode:record' –

+0

特定のスプリングブートプロパティ(特に 'consumer'と' producer')がkafkaプロパティを設定しました。たとえば、 'enable-auto-commit'はkafkaプロパティの' enable.auto.commit'プロパティを設定します。我々は現在、 'ack-mode'のようなバネ特有のプロパティを記録するための組み込みのメカニズムを提供していませんが、あなた自身で追加することができます。お気軽に[github issue](https://github.com/spring-projects/spring-kafka/issues)を開いてください。今後のリリースに追加することを検討します。寄付を歓迎します。 –

+0

ログにSpringカフカのプロパティを表示するデフォルトの方法がないことを確認してくれたGaryに感謝します。 –

関連する問題