grpc с Vertx Logs Требуется объяснение - PullRequest
0 голосов
/ 24 мая 2018

Я реализовал grpc API с Vertx с использованием Kotlin и включил уровни FINEST log для целей отладки.В моих интеграционных тестах я пытаюсь подключить клиент grpc к серверу по каналу.

Фрагмент клиента:

    val clientAsync1 = ctx.async()
            val channel1 = VertxChannelBuilder
                    .forAddress(vertx, "localhost", 10000)
                    .usePlaintext(true)
                    .build()
            val stub1 = ExampleGrpc.newVertxStub(channel1)

            val request = builderUtil.buildRequest()

            stub1.attemptFriendship(request) { stream ->
                    stream.handler { response ->

                    }
            }

В журналах в моем журнале я вижу следующееgrpc ver ver:

    [main] 2018-05-24T12:42:27.69+09:00 FINE [io.grpc.internal.ManagedChannelImpl]  [{0}] Exiting idle mode
    [grpc-default-executor-0] 2018-05-24T12:42:27.71+09:00 FINE [io.grpc.internal.ManagedChannelImpl]  [{0}] resolved address: {1}, config={2}
    [main] 2018-05-24T12:42:27.713+09:00 FINE [io.grpc.internal.ManagedChannelImpl]  [{0}] {1} created for {2}
    [main] 2018-05-24T12:42:27.759+09:00 FINE [io.grpc.internal.InternalSubchannel]  [{0}] Created {1} for {2}
    [vert.x-eventloop-thread-0] 2018-05-24T12:42:28.081+09:00 FINE [io.grpc.internal.InternalSubchannel]  [{0}] {1} for {2} is ready
    [vert.x-eventloop-thread-0] 2018-05-24T12:42:35.956+09:00 FINE [io.grpc.internal.ManagedChannelImpl]  [{0}] Created with target {1}
    [vert.x-eventloop-thread-0] 2018-05-24T12:42:35.961+09:00 FINE [io.grpc.internal.ManagedChannelImpl]  [{0}] Exiting idle mode
    [grpc-default-executor-0] 2018-05-24T12:42:35.962+09:00 FINE [io.grpc.internal.ManagedChannelImpl]  [{0}] resolved address: {1}, config={2}
    [grpc-default-executor-0] 2018-05-24T12:42:35.962+09:00 FINE [io.grpc.internal.ManagedChannelImpl]  [{0}] {1} created for {2}
    [grpc-default-executor-0] 2018-05-24T12:42:35.963+09:00 FINE [io.grpc.internal.InternalSubchannel]  [{0}] Created {1} for {2}
    [vert.x-eventloop-thread-0] 2018-05-24T12:42:35.974+09:00 FINE [io.grpc.internal.InternalSubchannel]  [{0}] {1} for {2} is ready
    [vert.x-eventloop-thread-0] 2018-05-24T12:42:46.808+09:00 FINE [io.grpc.internal.ManagedChannelImpl]  [{0}] shutdown() called
    [vert.x-eventloop-thread-0] 2018-05-24T12:42:46.81+09:00 FINE [io.grpc.internal.ManagedChannelImpl]  [{0}] Shutting down

Может кто-нибудь объяснить, что означает [{0}]{1}{2}?Обратите внимание, что для завершения теста создано несколько каналов, а ответы являются потоками.

1 Ответ

0 голосов
/ 24 мая 2018

Формат {0} соответствует формату MessageFormat , который является форматером по умолчанию, используемым java.util.logging.При вызове метода, подобного log(Level level, String msg, Object[] params), params должны объединяться с msg для формирования строки журнала.Это выгодно, поскольку эту обработку избегают, если журнал не распечатывается.

Как видно из документации java.util.logging.Logger:

Как правило, средства форматирования используют форматирование стиля java.text.MessageFormatдля форматирования параметров, например, строка форматирования "{0} {1}" будет форматировать два параметра как строки.

Кажется, что java.util.logging.Formatter, настроенный в вашей среде, этого не делаетхотя.

...