Finally(?) sort out stackprinter logging.
This commit is contained in:
parent
6a2bcfff19
commit
784d036bb7
27
app/log.py
27
app/log.py
@ -55,25 +55,14 @@ syslog.addFilter(local_filter)
|
|||||||
stderr.addFilter(local_filter)
|
stderr.addFilter(local_filter)
|
||||||
stderr.addFilter(debug_filter)
|
stderr.addFilter(debug_filter)
|
||||||
|
|
||||||
|
stderr_fmt = logging.Formatter('[%(asctime)s] %(leveltag)s: %(message)s',
|
||||||
|
datefmt='%H:%M:%S')
|
||||||
|
syslog_fmt = logging.Formatter(
|
||||||
|
'[%(name)s] %(module)s.%(funcName)s - %(leveltag)s: %(message)s'
|
||||||
|
)
|
||||||
|
stderr.setFormatter(stderr_fmt)
|
||||||
|
syslog.setFormatter(syslog_fmt)
|
||||||
|
|
||||||
class VerboseExceptionFormatter(logging.Formatter):
|
|
||||||
def formatException(self, exc_info):
|
|
||||||
msg = stackprinter.format(exc_info)
|
|
||||||
lines = msg.split('\n')
|
|
||||||
lines_indented = [" ┆ " + line + "\n" for line in lines]
|
|
||||||
msg_indented = "".join(lines_indented)
|
|
||||||
return msg_indented
|
|
||||||
|
|
||||||
|
|
||||||
stderr_fmt = '[%(asctime)s] %(leveltag)s: %(message)s'
|
|
||||||
stderr_formatter = VerboseExceptionFormatter(stderr_fmt, datefmt='%H:%M:%S')
|
|
||||||
stderr.setFormatter(stderr_formatter)
|
|
||||||
|
|
||||||
syslog_fmt = '[%(name)s] %(module)s.%(funcName)s - %(leveltag)s: %(message)s'
|
|
||||||
syslog_formatter = VerboseExceptionFormatter(syslog_fmt)
|
|
||||||
syslog.setFormatter(syslog_formatter)
|
|
||||||
|
|
||||||
# add the handlers to the log
|
|
||||||
log.addHandler(stderr)
|
log.addHandler(stderr)
|
||||||
log.addHandler(syslog)
|
log.addHandler(syslog)
|
||||||
|
|
||||||
@ -85,7 +74,7 @@ def log_uncaught_exceptions(ex_cls, ex, tb):
|
|||||||
print("\033[1;31;47m")
|
print("\033[1;31;47m")
|
||||||
logging.critical(''.join(traceback.format_tb(tb)))
|
logging.critical(''.join(traceback.format_tb(tb)))
|
||||||
print("\033[1;37;40m")
|
print("\033[1;37;40m")
|
||||||
stackprinter.show(style="lightbg")
|
print(stackprinter.format(ex, style="darkbg2", add_summary=True))
|
||||||
msg = stackprinter.format(ex)
|
msg = stackprinter.format(ex)
|
||||||
send_mail(Config.ERRORS_TO, Config.ERRORS_FROM,
|
send_mail(Config.ERRORS_TO, Config.ERRORS_FROM,
|
||||||
"Exception from musicmuster", msg)
|
"Exception from musicmuster", msg)
|
||||||
|
|||||||
@ -1663,6 +1663,6 @@ if __name__ == "__main__":
|
|||||||
send_mail(Config.ERRORS_TO, Config.ERRORS_FROM,
|
send_mail(Config.ERRORS_TO, Config.ERRORS_FROM,
|
||||||
"Exception from musicmuster", msg)
|
"Exception from musicmuster", msg)
|
||||||
|
|
||||||
print("\033[1;31;47mUnhandled exception starts\033[1;37;40m")
|
print("\033[1;31;47mUnhandled exception starts")
|
||||||
stackprinter.show(style="darkbg2")
|
stackprinter.show(style="darkbg")
|
||||||
print("\033[1;31;47mUnhandled exception ends\033[1;37;40m")
|
print("Unhandled exception ends\033[1;37;40m")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user