mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
error-bot: Remove ERROR_BOT support.
This isn't sufficiently useful to keep the added complexity. Users should use the email error reporting, or set up Sentry error reporting.
This commit is contained in:
committed by
Tim Abbott
parent
db07b8668f
commit
d888bb3df2
@@ -1,16 +1,15 @@
|
||||
# System documented in https://zulip.readthedocs.io/en/latest/subsystems/logging.html
|
||||
from collections import defaultdict
|
||||
from typing import Any, Dict, Literal
|
||||
from typing import Any, Dict
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.mail import mail_admins
|
||||
|
||||
from zerver.actions.message_send import internal_send_stream_message
|
||||
from zerver.filters import clean_data_from_query_parameters
|
||||
from zerver.models import get_realm, get_stream, get_system_bot
|
||||
|
||||
|
||||
def send_error(channel: Literal["email", "zulip"], report: Dict[str, Any]) -> None:
|
||||
def do_report_error(report: Dict[str, Any]) -> None:
|
||||
report = defaultdict(lambda: None, report)
|
||||
|
||||
topic = "{node}: {message}".format(**report).replace("\n", "\\n").replace("\r", "\\r")
|
||||
|
||||
logger_str = "Logger {logger_name}, from module {log_module} line {log_lineno}:".format(
|
||||
@@ -45,8 +44,7 @@ Request info:
|
||||
else:
|
||||
request_repr = "Request info: none\n"
|
||||
|
||||
if channel == "email":
|
||||
message = f"""\
|
||||
message = f"""\
|
||||
{logger_str}
|
||||
Error generated by {user_info}
|
||||
|
||||
@@ -56,33 +54,4 @@ Error generated by {user_info}
|
||||
|
||||
{request_repr}"""
|
||||
|
||||
mail_admins(topic, message, fail_silently=True)
|
||||
else:
|
||||
assert settings.ERROR_BOT is not None
|
||||
message = f"""{logger_str}
|
||||
Error generated by {user_info}
|
||||
|
||||
~~~~ pytb
|
||||
{report['stack_trace']}
|
||||
|
||||
~~~~
|
||||
{deployment}
|
||||
{request_repr}"""
|
||||
|
||||
error_bot_realm = get_realm(settings.STAFF_SUBDOMAIN)
|
||||
error_bot = get_system_bot(settings.ERROR_BOT, error_bot_realm.id)
|
||||
errors_stream = get_stream("errors", error_bot_realm)
|
||||
|
||||
internal_send_stream_message(
|
||||
error_bot,
|
||||
errors_stream,
|
||||
topic,
|
||||
message,
|
||||
)
|
||||
|
||||
|
||||
def do_report_error(report: Dict[str, Any]) -> None:
|
||||
report = defaultdict(lambda: None, report)
|
||||
send_error("email", report)
|
||||
if settings.ERROR_BOT:
|
||||
send_error("zulip", report)
|
||||
mail_admins(topic, message, fail_silently=True)
|
||||
|
||||
Reference in New Issue
Block a user