Better error logging

This commit is contained in:
Oleg Silkin 2020-01-19 23:11:07 -05:00
parent 25eb4f9acd
commit 6a00c7aa82
2 changed files with 5 additions and 7 deletions

View file

@ -29,16 +29,14 @@ def make_error(error, exc=None) -> dict:
return body
async def report_error(app, exc, msg=''):
async def report_error(app, exc, body: dict):
try:
if 'slack_webhook' in app['config']:
if msg:
msg = f'"{msg}"'
body = {
"text": f"Got `{type(exc).__name__}`: ```\n{str(exc)}```\n{msg}"
message = {
"text": f"Got `{type(exc).__name__}`: `\n{str(exc)}`\n```{body}```"
}
async with aiohttp.ClientSession() as sesh:
async with sesh.post(app['config']['slack_webhook'], json=body) as resp:
async with sesh.post(app['config']['slack_webhook'], json=message) as resp:
await resp.wait_for_close()
except Exception:

View file

@ -88,7 +88,7 @@ async def process_json(app, body: dict) -> dict:
response['error'] = make_error('INVALID_PARAMS', err)
else:
response['error'] = make_error('INTERNAL', err)
await app['webhooks'].spawn(report_error(app, err))
await app['webhooks'].spawn(report_error(app, err, body))
finally:
end = time.time()