flaskのコンソールに出るログをlogging使ってDiscordにWebhookで送る
#備忘録
これを
https://gyazo.com/d0b08eaabf2d5555c27409131bd2d5ef
こうする手順
https://gyazo.com/cfc0910b43f1176b2eb80c519757c714
code:handlers.py
import logging
import requests
class DiscordHandler(logging.StreamHandler):
def __init__(self, url):
super(DiscordHandler, self).__init__()
self.url = url
def emit(self, record):
msg = self.format(record)
self.send_message(msg)
def send_message(self, text):
message = {
'content': text,
}
requests.post(self.url, json=message)
code:main.py
from flask import Flask
import logging
from handlers import DiscordHandler
webhook_url="https://discord.com/api/webhooks/1234567890/webhook-no-url-dayo"
app = Flask(__name__)
# Discord Handler の作成
discord_handler = DiscordHandler(webhook_url)
discord_handler.setLevel(logging.INFO)
werkzeug_logger = logging.getLogger('werkzeug')
werkzeug_logger.addHandler(discord_handler)
# 標準出力要らないよって人はこの辺削除
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
werkzeug_logger.addHandler(console_handler)
if __name__ == '__main__':
app.run()
これを実際に実装したやつ
https://github.com/nanocom2024/nanoRelation_Server
参考
https://jun-networks.hatenablog.com/entry/2019/11/30/165710
https://qiita.com/KWS_0901/items/7163e52b4041b909f5bc