| 217 | super().__init__(*args, **kwargs) |
| 218 | |
| 219 | def format(self, record): |
| 220 | msg = record.msg |
| 221 | status_code = getattr(record, "status_code", None) |
| 222 | |
| 223 | if status_code: |
| 224 | if 200 <= status_code < 300: |
| 225 | # Put 2XX first, since it should be the common case |
| 226 | msg = self.style.HTTP_SUCCESS(msg) |
| 227 | elif 100 <= status_code < 200: |
| 228 | msg = self.style.HTTP_INFO(msg) |
| 229 | elif status_code == 304: |
| 230 | msg = self.style.HTTP_NOT_MODIFIED(msg) |
| 231 | elif 300 <= status_code < 400: |
| 232 | msg = self.style.HTTP_REDIRECT(msg) |
| 233 | elif status_code == 404: |
| 234 | msg = self.style.HTTP_NOT_FOUND(msg) |
| 235 | elif 400 <= status_code < 500: |
| 236 | msg = self.style.HTTP_BAD_REQUEST(msg) |
| 237 | else: |
| 238 | # Any 5XX, or any other status code |
| 239 | msg = self.style.HTTP_SERVER_ERROR(msg) |
| 240 | |
| 241 | if self.uses_server_time() and not hasattr(record, "server_time"): |
| 242 | record.server_time = self.formatTime(record, self.datefmt) |
| 243 | |
| 244 | record.msg = msg |
| 245 | return super().format(record) |
| 246 | |
| 247 | def uses_server_time(self): |
| 248 | return self._fmt.find("{server_time}") >= 0 |