Skip to content

Instantly share code, notes, and snippets.

@selwin
Created December 12, 2012 02:00
Show Gist options
  • Save selwin/4264218 to your computer and use it in GitHub Desktop.
Save selwin/4264218 to your computer and use it in GitHub Desktop.

Revisions

  1. selwin created this gist Dec 12, 2012.
    26 changes: 26 additions & 0 deletions logging_base_command.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,26 @@
    from __future__ import with_statement

    import sys

    import django
    from django.core.management.base import BaseCommand
    from django.utils.log import getLogger

    class LoggingBaseCommand(BaseCommand):
    # A subclass of BaseCommand that logs errors to django.commands

    def __init__(self):
    super(LoggingBaseCommand, self).__init__()
    self._logger = getLogger('django.commands')

    def run_from_argv(self, argv):
    try:
    super(LoggingBaseCommand, self).run_from_argv(argv)
    except Exception, e:
    self._logger.error(e,
    exc_info=sys.exc_info(),
    extra={
    'status_code': 500,
    }
    )
    raise