MCPcopy
hub / github.com/django/django / emit

Method emit

django/utils/log.py:122–163  ·  view source on GitHub ↗
(self, record)

Source from the content-addressed store, hash-verified

120 )
121
122 def emit(self, record):
123 # Early return when no email will be sent.
124 if (
125 not settings.ADMINS
126 # Method not overridden.
127 and self.send_mail.__func__ is AdminEmailHandler.send_mail
128 ):
129 return
130 try:
131 request = record.request
132 subject = "%s (%s IP): %s" % (
133 record.levelname,
134 (
135 "internal"
136 if request.META.get("REMOTE_ADDR") in settings.INTERNAL_IPS
137 else "EXTERNAL"
138 ),
139 record.getMessage(),
140 )
141 except Exception:
142 subject = "%s: %s" % (record.levelname, record.getMessage())
143 request = None
144 subject = self.format_subject(subject)
145
146 # Since we add a nicely formatted traceback on our own, create a copy
147 # of the log record without the exception data.
148 no_exc_record = copy(record)
149 no_exc_record.exc_info = None
150 no_exc_record.exc_text = None
151
152 if record.exc_info:
153 exc_info = record.exc_info
154 else:
155 exc_info = (None, record.getMessage(), None)
156
157 reporter = self.reporter_class(request, is_email=True, *exc_info)
158 message = "%s\n\n%s" % (
159 self.format(no_exc_record),
160 reporter.get_traceback_text(),
161 )
162 html_message = reporter.get_traceback_html() if self.include_html else None
163 self.send_mail(subject, message, html_message=html_message)
164
165 def send_mail(self, subject, message, *args, **kwargs):
166 # RemovedInDjango70Warning.

Calls 6

format_subjectMethod · 0.95
send_mailMethod · 0.95
getMethod · 0.45
formatMethod · 0.45
get_traceback_textMethod · 0.45
get_traceback_htmlMethod · 0.45