Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Журналы помогают понять, как выполняются функции пользовательских данных и диагностировать проблемы, когда функции не работают должным образом. Журналы можно просматривать двумя способами:
- Во время тестирования — просмотр журналов в реальном времени на панели тестирования при тестировании функций в режиме разработки
- После вызова — просмотр журналов для вызванных опубликованных функций
В этой статье объясняется, как просматривать и использовать журналы для мониторинга выполнения функций и устранения неполадок.
Просмотр журналов во время тестирования
При тестировании функций вы можете просматривать журналы в режиме реального времени при выполнении функции:
- Панель тестирования в режиме разработки — просмотр журналов при тестировании неопубликованных или опубликованных функций
- Панель выполнения в режиме только для запуска — просмотр журналов во время выполнения опубликованных функций
Обе панели немедленно отображают выходные данные журнала, что позволяет просматривать сведения о выполнении и отладке проблем при их возникновении. Дополнительные сведения о функциях тестирования см. в разделе "Тестирование функций пользовательских данных".
Просмотр исторических логов для вызываемых функций
После вызова опубликованных функций вы можете просмотреть журналы для анализа прошлых исполнений.
Чтобы получить доступ к историческим журналам.
Переключитесь на режим запуска только с помощью переключателя режима.
Наведите указатель мыши на имя функции в списке функций.
Щелкните значок многоточия (...), а затем выберите Просмотреть исторический журнал.
Снимок экрана, показывающий, как просматривать исторические журналы функции.
Понимание представления исторических журналов
В отображении журнала показываются последние вызовы выбранной функции. Вы можете просматривать до 50 записей, а журналы хранятся в течение 30 дней. Выберите ссылку даты в столбце Date (UTC), чтобы просмотреть подробные журналы для конкретного вызова.
Панель "Все исторические журналы" содержит следующие сведения для каждого вызова:
- Дата (UTC). Метка времени, показывающая начало вызова функции. Выберите ссылку, чтобы просмотреть все логи для этой инициации. В нем отображаются сведения о вызове со всеми сообщениями, зарегистрированными пользователем или службой.
- Состояние. Указывает, выполнен ли вызов успешно или завершился сбоем.
- Длительность (мс). Длительность выполнения функции в миллисекундах.
- Идентификатор вызова. Идентификатор вызова конкретной функции. Идентификатор вызова возвращается как часть заголовка HTTP. Если возникли проблемы, пользователи могут ссылаться на этот идентификатор вызова в запросе на поддержку, чтобы получить дополнительные сведения о вызове.
Просмотр подробных журналов для конкретного вызова
После открытия представления журналов истории (как описано в предыдущем разделе), вы можете углубиться в отдельные вызовы. При выборе ссылки метки времени в столбце Date (UTC) откроется область сведений о вызове , чтобы отобразить все журналы для этого вызова. Вы можете просмотреть следующее:
- Все журналы, добавленные в код функции с помощью
loggingмодуля - Системные журналы о выполнении функции
- Все ошибки или исключения, которые произошли
Каждая запись журнала включает метку времени, сообщение журнала и уровень журнала (сведения, предупреждение, ошибка, критически важный).
Добавьте логирование в функции
Вы можете добавить пользовательские лог-записи в свои функции, используя стандартный модуль logging Python. Журналы помогают отслеживать поведение функций, отслеживать обработку данных и диагностировать проблемы.
Импорт модуля ведения журнала
Сначала импортируйте logging модуль в код функции:
import logging
Замечание
Модуль logging импортируется по умолчанию при создании нового элемента пользовательских функций данных на портале Fabric или с помощью расширения VS Code.
Использование соответствующих уровней журнала
Python предоставляет различные уровни журналов для различных ситуаций. Используйте соответствующий уровень, чтобы сделать журналы более значимыми:
# INFO - Track normal function execution and key steps
logging.info('Processing started for customer ID: 12345')
logging.info('Successfully retrieved 150 records from database')
# WARNING - Log potentially problematic situations that don't prevent execution
logging.warning('API response time exceeded 2 seconds')
logging.warning('Using cached data because fresh data is unavailable')
# ERROR - Log errors that affect functionality but don't crash the function
logging.error('Failed to connect to external API: Connection timeout')
logging.error('Invalid data format in row 42')
# CRITICAL - Log severe errors that may cause function failure
logging.critical('Database connection lost')
logging.critical('Required configuration parameter missing')
Рекомендации по ведению логов
Выполните следующие рекомендации, чтобы сделать журналы более эффективными.
- Записывайте значимую информацию - включайте соответствующие сведения, такие как идентификаторы, счетчики или значения параметров, которые помогают диагностировать проблемы.
- Используйте соответствующие уровни журналирования. Не регистрируйте все как INFO или ERROR; используйте правильный уровень для ситуации
- Логирование в ключевых точках - Добавьте журналы в начале функций, до и после внешних вызовов, а также при обработке данных.
- Избегайте ведения журнала конфиденциальных данных. Не регистрайте пароли, маркеры, персональные данные или другие конфиденциальные данные.
- Сохранение кратких сообщений — запись четких, кратких сообщений журнала, которые легко сканировать
- Учитывайте объем - чрезмерное ведение журнала может повлиять на производительность и достичь ежедневного предела приема
Дополнительные сведения о написании кода функции см. в модели программирования Python.
Ограничения и хранение журналов
При работе с журналами следует учитывать следующие ограничения:
- Хранение журналов — журналы исторических вызовов хранятся по умолчанию в течение 30 дней
- Видимые записи — окно с историей показывает до 50 записей на функцию
- Доступность лога — появление логов вызова может занять несколько минут; обновите страницу, если вы не видите последние логи
- Ежедневное ограничение приема - 250 МБ в день; ограничение сбрасывается ежедневно
- Выборка - Журналы могут быть выбраны для уменьшения объема при сохранении статистически корректного анализа
- Поддерживаемые типы журналов — сведения, ошибка, предупреждение и трассировка
Полные сведения об ограничениях служб см. в разделе "Сведения о службе" и "Ограничения".
Связанный контент
- Тестирование функций данных пользователей. Узнайте , как тестировать функции и просматривать журналы в режиме реального времени на панели "Тест"
- Модель программирования Python . Узнайте, как писать код функции и использовать модуль ведения журнала
- Сведения о службе и её ограничениях — проверка сроков хранения журналов и лимитов службы
- Руководство. Вызов пользовательских функций данных из приложения Python . Узнайте, как вызывать функции и использовать идентификаторы вызовов