Я готовлюсь к переходу со стандартной среды выполнения GAE Java 8 на стандартную среду выполнения Java 11. Я использовал java.util.logging
. Я понимаю, что со средой выполнения Java 11 журналы больше не коррелируются автоматически. При использовании Java 8 Runtime все сообщения журнала для конкретного запроса будут отображаться вложенными в запись журнала конкретного запроса. Но теперь все сообщения журнала появляются независимо.
Чтобы решить эту проблему, я воспользовался документацией , чтобы использовать Google Cloud Logging. Однако я не вижу никакой разницы в своих журналах с или без Google Cloud Logging. Журналы по-прежнему не коррелированы.
Мое тестовое приложение представляет собой приложение с одним сервлетом, разработанное с использованием примера HelloWorld .
Я добавил эту зависимость в свой pom.xml
:
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-logging</artifactId>
<version>1.101.2</version>
</dependency>
Мой logging.properties
файл похож на пример в документации и находится в папке src/main/resources/
.
.level = INFO
# it is recommended that io.grpc and sun.net logging level is kept at INFO level,
# as both these packages are used by Stackdriver internals and can result in verbose / initialization problems.
io.grpc.netty.level=INFO
sun.net.level=INFO
com.mycompany.services.main.MyClass.handlers=com.google.cloud.logging.LoggingHandler
# default : java.log
com.google.cloud.logging.LoggingHandler.log=custom_log
# default : INFO
com.google.cloud.logging.LoggingHandler.level=FINE
# default : ERROR
com.google.cloud.logging.LoggingHandler.flushLevel=ERROR
# default : auto-detected, fallback "global"
com.google.cloud.logging.LoggingHandler.resourceType=container
# custom formatter
com.google.cloud.logging.LoggingHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=%3$s: %5$s%6$s
Вот команда, используемая для развертывания:
mvn clean package appengine:deploy -Dapp.deploy.projectId=my-project-id -Djava.util.logging.config.file=src/main/resources/logging.properties
В журналах при запуске сервера я вижу следующую запись:
2020-07-11 06:32:33.111:INFO::main: Logging initialized @920ms to org.eclipse.jetty.util.log.StdErrLog
Что мне нужно сделать, чтобы получить коррелированные журналы, как я получаю с Java 8 Время выполнения?