Я добавил GOOGLE_CLOUD_PROJECT и GOOGLE_APPLICATION_CREDENTIALS в Intellij к переменным среды.
Вы уверены, что переменные среды выбираются из IntelliJ? Проверяли ли вы, что переменные среды задаются с помощью CLI?
Если вы используете библиотеку spring-cloud-gcp-starter-logging для интеграции с Stackdriver, тогда установка переменных среды должна работать нормально.
From docs :
В связи с тем, как настроено ведение журнала, идентификатор проекта GCP и учетные данные, определенные в application.properties, игнорируются.
Вместо этого вы должны установить переменные окружения GOOGLE_CLOUD_PROJECT
и GOOGLE_APPLICATION_CREDENTIALS
для идентификатора проекта и расположения личного ключа учетных данных соответственно. Это легко сделать, если вы используете Google Cloud SDK, используя команды набора настроек проекта gcloud [YOUR_PROJECT_ID] и команды входа по умолчанию для приложения gcloud auth, соответственно.
Для работы приложения Spring Boot при ведении журнала Stackdriver вы можете установить переменные окружения GOOGLE_CLOUD_PROJECT
и GOOGLE_APPLICATION_CREDENTIALS
следующим образом:
export GOOGLE_CLOUD_PROJECT=`gcloud config get-value core.project`
export GOOGLE_APPLICATION_CREDENTIALS=`gcloud auth application-default login`
Я установил gcloud, и там я могу использовать файл cred в качестве учетной записи службы с правами администратора для писать и читать журналы.
Вы не должны использовать права администратора. Вы должны использовать служебную учетную запись с roles/logging.logWriter
и (при необходимости) roles/logging.viewer
ролями.