Задать вопрос

Как настроить supervisorctl чтобы он записывал ошибки в бд?

У меня есть настроенный конфиг supervisor который запускает бота.
Мне нужно, чтобы все ошибки которые получает aupervisorctl записывались в базу данных
Как это можно сделать?
  • Вопрос задан
  • 192 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
@AlexVWill
1) Поднимаем MySQL
2) Создаем bash, который строчку из log файла транслирует в SQL запрос вида
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

3) Запускаем как daemon
4) PROFIT!!!!!11111
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
smorman
@smorman
When In Rome do as The Romans do...
А смысл в БД?
Захламлять БД?

Супервизор прекрасно пишет в log, путь прописывается в конфиге, если конфиг генерировали командой:
sudo sh -c 'echo_supervisord_conf > /etc/supervisor/supervisord.conf' - для Ubuntu
или
sudo sh -c 'echo_supervisord_conf > /etc/supervisord.conf' - для Арча

то там уже прописан путь лога в файле:
/etc/supervisor/supervisord.conf - в Ubuntu
или
/etc/supervisord.conf - в Арче например


[supervisord]
logfile=/var/log/supervisor/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB        ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10           ; # of main logfile backups; 0 means none, default 10
loglevel=info

Оттуда и читаете.

loglevel= можете менять по нуждам:
loglevel=
6433d9b6f2474969113159.png


А если нужно по боту лог, то в юните бота в Супервизоре прописываете путь к нему и также оттуда логи читаете.
stdout_logfile_maxbytes = 50MB
stdout_logfile = /var/log/bot.log
stderr_logfile = /var/log/bot.log
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы