Google App Engine - логи сообщений не видны - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть загрузочное приложение Spring, развернутое в GCP App Engine с входом в систему в качестве основы ведения журнала.Проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти сообщения регистратора, которые я помещаю в свой код.Я нашел похожий пост: Google App Engine - Не могу найти мои сообщения журнала .Но он намного старше и решения больше не работают.В этом посте упоминается установка уровня ведения журнала вручную.В аналогичной строке я использовал файл logging.properties, чтобы установить уровень INFO.Но все же, это было бесполезно.

Я думал, что проблема может быть в разрешении файла в App Engine.Итак, я указал местоположение файла журнала на /tmp с полными правами на чтение и запись.Это не работает.Если есть какие-либо сценарии исключений, то следы стека видны в журнале Stackdriver.Пожалуйста, предложите.

1 Ответ

0 голосов
/ 11 февраля 2019

Вот как мне удалось сделать так, чтобы журналы отображались в Stackdriver в java.log.

Я создал файл myApp/src/main/resources/logback.xml и добавил эту конфигурацию:

<configuration>
  <appender name="STDOUT" class="com.google.cloud.logging.logback.LoggingAppender">
  </appender>

  <root level="info">
          <appender-ref ref="STDOUT"/>    
  </root>
</configuration>

Я также добавилзависимость в файле myApp/pom.xml:

<dependencies>

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-logging-logback</artifactId>
      <version>0.80.0-alpha</version>
    </dependency>

    <!-- other dependencies -->

</dependencies>

Затем в моих main.java я сделал logger.info("my info log") и logger.error("my error log"), и журналы появились в Stackdriver после нескольких секунд доступа к моему веб-приложению.

Я взял пример кода из репозитория GoogleCloudPlatform / Getting-Start-Java- для развертывания моего приложения.

...