Рубрики
Uncategorized

Учебник Heroku Logs

Введение функция ведения журнала Heroku не то же самое, что традиционные серверы Linux, поэтому я бы … помеченный DevOps.

Введение

Функция журнала Heroku не то же самое, что традиционные серверы Linux Так что я хотел бы написать пост, говорящий об этой функции более подробно.

Основные понятия и рабочий процесс

Во -первых, я бы хотел, чтобы вы имели базовое понимание того, как работает процесс регистрации Heroku.

Маршрутизатор Heroku’s Logplex отвечает за сопоставление и распространение записей журнала, сгенерированных вашим приложением и другими компонентами платформы Heroku

Как видите, если вы используете Heroku CLI для проверки журнала, то можете увидеть журналы из разных источников.

Команда Heroku Logs

У Heroku Cli есть команда, чтобы помочь вам быстро проверить журналы Heroku.

USAGE
  $ heroku logs

OPTIONS
  -a, --app=app        (required) app to run command against

  -d, --dyno=dyno      only show output from this dyno type (such as "web" or
                       "worker")

  -n, --num=num        number of lines to display

  -r, --remote=remote  git remote of app to use

  -s, --source=source  only show output from this source (such as "app" or
                       "heroku")

  -t, --tail           continually stream logs

  --force-colors       force use of colors (even on non-tty output)

Поскольку журнал поступает из разных источников, при использовании Heroku Logs Команда, вы можете добавить некоторые параметры для фильтрации журналов.

# display logs for web
$ heroku logs -d web -a heroku-app

# display logs for redis plugin
$ heroku logs -d heroku-redis -a heroku-app

# display logs come from app
$ heroku logs --source app

Вы также можете добавить -t Чтобы увидеть журнал в реальном времени, просто так.

$ heroku logs -a heroku-app -t

Журналы Heroku выглядят так

DATATIME app[heroku-redis]: blah blah blah
DATATIME app[web.1]: blah blah blah
DATATIME heroku[router] blah blah blah

Итак, формат журнала — что -то вроде этого {datetime} {source} [{dyno}]: blah blah blah , так -d и -s может помочь вам отфильтровать журналы в хорошем пути.

Журнал ошибок с Sentry

Поскольку журналы Heroku не выполняют работу в магазине (это работает как потоковая служба), поэтому я хотел бы дать вам способ сделать журнал ошибок.

У Хероку есть плагин под названием Часовой Чтобы помочь вам выполнить журнал ошибок, это уловило ошибку, сохранит данные об ошибке и отправит вам уведомление по электронной почте. бесплатный план Хорошо пойти на большинство проектов.

  1. Вам нужно добавить дополнение для вашего приложения Heroku (вы можете сделать это на веб-странице или команде терминала heroku Addons: Создать Sentry )

  2. После добавления дополнения новая переменная конфигурации Sentry_dsn был бы aded, просто проверьте, используя Heroku Config

  3. Затем вам нужно добавить код Sentry в свой проект. (Вы можете получить код на домашней странице Sentry)

Например, если вы хотите использовать Sentry с проектом Django.

  1. PIP установить Sentry-SDK

Добавьте код ниже в настройки Django файл

import sentry_sdk
import os

from sentry_sdk.integrations.django import DjangoIntegration

sentry_sdk.init(
    dsn=os.environ.get('SENTRY_DSN'),
    integrations=[DjangoIntegration()]
)

Sentry поможет вам объединить данные о регистрации ошибок и Traceback, он также отправит вам отчет по ошибке по электронной почте. Таким образом, вам может не понадобиться журнал Heroku, чтобы устранить ошибку.

Постоянство ведения ведения журнала

Поскольку журнал heroku работает, как служба потока, и он не сохранит его для вас (вы можете получить только последние 1500 строк), поэтому, если вы хотите сохранить журнал туда -то, есть несколько способов сделать это.

  1. Используйте дополнение, я бы порекомендовал Logentries , который также имеет бесплатный план для вас, чтобы начать.

  2. Другой способ — реализовать пользовательский бревенчатые стоки , пожалуйста, проверьте Heroku Doc для получения более подробной информации.

Вывод

В этом уроке Heroku я говорил о том, как использовать журналы Heroku и как использовать Sentry для записи журнала ошибок для приложения Heroku.

Если у вас есть какие -либо вопросы, пожалуйста, не стесняйтесь обращаться к нам.

Оригинал: «https://dev.to/michaelyin/heroku-logs-tutorial-1g75»