Я развернул функцию Python 3.7 в Google Cloud. Следующие операторы настраивают ведение журнала для функции. Если я выполню функцию из командной строки, файл рекомендателя_logs.log будет сохранен в текущем рабочем каталоге.
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%m-%d %H:%M',
filename='recommender_logs.log',
filemode='w')
console = logging.StreamHandler()
console.setLevel(logging.DEBUG)
# set a format which is simpler for console use
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
# tell the handler to use this format
console.setFormatter(formatter)
# add the handler to the root logger
logging.getLogger('').addHandler(console)
Когда я запускаю функцию из консоли Google Cloud, где мне нужно настроить этот файл, чтобы в нем сохранялся файл журналов функций? Если я не укажу путь, где файл будет храниться по умолчанию?
Я вижу журналы в консоли ведения журналов, но помимо этого есть место, где можно увидеть этот файл, или можно выбрать только облачную корзину?
Каждая функция, развернутая в GCP, запускается в отдельном контейнере, и если ей нужно хранить какие-либо данные, то она может делать это только в каталоге /tmp, если контейнер ее запускает.
Неважно, развертываете ли вы его со своего компьютера, из Cloud Shell или с помощью API. Файловая система ваших функций изолирована от любой другой функции или даже от другого экземпляра самой себя.
Вы храните свой файл каким-то постоянным способом, который вы должны экспортировать, например, в корзину GCP. Взгляните на этот ответ стека - он может быть вам полезен.