Better logging

This commit is contained in:
Dylan 2023-08-01 14:07:42 +01:00
parent cac3026f2b
commit 53128fef58
2 changed files with 16 additions and 7 deletions

View File

@ -8,7 +8,7 @@ import urllib.parse
import urllib.request import urllib.request
import combineImg import combineImg
from datetime import date,datetime, timedelta from datetime import date,datetime, timedelta
from io import BytesIO from io import BytesIO, StringIO
import msgs import msgs
import twExtract as twExtract import twExtract as twExtract
from configHandler import config from configHandler import config
@ -17,6 +17,7 @@ from yt_dlp.utils import ExtractorError
from twitter.api import TwitterHTTPError from twitter.api import TwitterHTTPError
import vxlogging as log import vxlogging as log
import zipfile import zipfile
import traceback
app = Flask(__name__) app = Flask(__name__)
CORS(app) CORS(app)
@ -236,7 +237,7 @@ def twitfix(sub_path):
log.success("API Get success") log.success("API Get success")
return apiObject return apiObject
except Exception as e: except Exception as e:
log.error("API Get failed: " + twitter_url + " " + str(e)) log.error("API Get failed: " + twitter_url + " " + log.get_exception_traceback_str(e))
abort(500, '{"message": "Failed to extract tweet (Processing error)"}') abort(500, '{"message": "Failed to extract tweet (Processing error)"}')
if match is not None: if match is not None:
@ -373,17 +374,17 @@ def vnfFromCacheOrDL(video_link):
exErr.msg=msgs.tweetSuspended exErr.msg=msgs.tweetSuspended
else: else:
exErr.msg=msgs.tweetNotFound exErr.msg=msgs.tweetNotFound
log.error("VNF Get failed: " + video_link + " " + str(exErr))
log.error("VNF Get failed: " + video_link + " " + log.get_exception_traceback_str(exErr))
return None,exErr.msg return None,exErr.msg
except TwitterHTTPError as twErr: except TwitterHTTPError as twErr:
log.error("VNF Get failed: " + video_link + " " + str(twErr)) log.error("VNF Get failed: " + video_link + " " + log.get_exception_traceback_str(twErr))
if twErr.e.code == 404: if twErr.e.code == 404:
return None,msgs.tweetNotFound return None,msgs.tweetNotFound
else: else:
return None,None return None,None
except Exception as e: except Exception as e:
log.error("VNF Get failed: " + video_link + " " + str(e)) log.error("VNF Get failed: " + video_link + " " + log.get_exception_traceback_str(e))
log.error(e)
return None,None return None,None
else: else:
return upgradeVNF(cached_vnf),None return upgradeVNF(cached_vnf),None

View File

@ -1,5 +1,7 @@
IS_DEBUG = False IS_DEBUG = False
from flask import request from flask import request
from io import StringIO
import traceback
def generic(message): def generic(message):
invocation_id = None invocation_id = None
try: try:
@ -33,4 +35,10 @@ def warn(message):
def debug(message): def debug(message):
if IS_DEBUG: if IS_DEBUG:
message = str(message) message = str(message)
generic(f" > [ D ] {message}") generic(f" > [ D ] {message}")
def get_exception_traceback_str(exc: Exception) -> str:
# Ref: https://stackoverflow.com/a/76584117/
file = StringIO()
traceback.print_exception(exc, file=file)
return file.getvalue().rstrip()