В идеальном мире вы бы не писали в локальную файловую систему то, что вам нужно хранить. Можно писать кэшированные файлы или артефакты, которые вы можете просто воссоздать, но вы не должны помещать туда ничего важного.
https://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html#filesystem
Локальная файловая система, подверженная воздействию Ваше приложение эфемерно, и небезопасно хранить там важные вещи даже в течение короткого периода времени. Конечно, вы можете попытаться настроить процесс, который периодически запускается и отправляет файлы журнала из вашего контейнера в другое место. Однако, когда ваше приложение падает, вы потеряете сообщения журнала, вероятно, важные, которые говорят, почему ваше приложение потерпело крах, потому что у вашего процесса syn c не будет времени для запуска до очистки контейнера.
Вместо этого вы хотите настроить свои приложения на запись их журналов в STDOUT или STDERR.
https://docs.cloudfoundry.org/devguide/deploy-apps/streaming-logs.html#writing
Все, что записано в STDOUT / STDERR, автоматически захватывается платформой и отправляет поток журнала для вашего приложения. Затем вы можете отправить свой поток журналов в различные надежные места.
https://docs.cloudfoundry.org/devguide/services/log-management.html
Большинство приложений можно легко настроить для записи в STDOUT / STDERR. Вы отметили Spring-Boot на этом посте, поэтому я предполагаю, что ваши приложения работают с Spring Boot. По умолчанию Spring Boot должен регистрироваться в STDOUT / STDERR, поэтому вам ничего не нужно делать.
Что может произойти, хотя разработчики вашего приложения специально настроили приложение для отправки журналов в файл , Найдите в файле приложения src/main/resources/application.properties
или application.yml
свойства logging.file.path
или logging.file.name
. Если есть, закомментируйте или удалите их. Это должно сделать ваши журналы в STDOUT / STDERR.
https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot -features-logging-file-output