Skip to main content

Django logging in database

Project description

https://travis-ci.org/CiCiUi/django-db-logger.svg?branch=master

Django logging in database. For large projects please use Sentry

Screenshot

https://ciciui.github.io/django-db-logger/static/img/django-db-logger.png

Dependency

  • Django>=1.9

  • Python 2.7+/3.6+

License

WTFPL

Quick start

  1. Install

pip install django-db-logger
  1. Add “django_db_logger” to your INSTALLED_APPS setting like this

INSTALLED_APPS = (
    ...
    'django_db_logger',
)
  1. Add handler and logger to LOGGING setting like this

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(asctime)s %(message)s'
        },
    },
    'handlers': {
        'db_log': {
            'level': 'DEBUG',
            'class': 'django_db_logger.db_log_handler.DatabaseLogHandler'
        },
    },
    'loggers': {
        'db': {
            'handlers': ['db_log'],
            'level': 'DEBUG'
        },
        'django.request': { # logging 500 errors to database
            'handlers': ['db_log'],
            'level': 'ERROR',
            'propagate': False,
        }
    }
}
  1. Run python manage.py migrate to create django-db-logger models.

  2. Use django-db-logger like this

import logging
db_logger = logging.getLogger('db')

db_logger.info('info message')
db_logger.warning('warning message')

try:
    1/0
except Exception as e:
    db_logger.exception(e)

Options

  1. DJANGO_DB_LOGGER_ADMIN_LIST_PER_PAGE: integer. list per page in admin view. default 10

  2. DJANGO_DB_LOGGER_ENABLE_FORMATTER: boolean. Using formatter options to format message. True or False, default False

Build your own database logger :hammer:

  1. Create a new app and add it to INSTALLED_APPS

  2. Copy files django-db-logger/models.py, django-db-logger/admin.py, django-db-logger/db_log_handler.py to the app folder

  3. Replace DJANGO_DB_LOGGER_ADMIN_LIST_PER_PAGE in admin.py with an integer

  4. Replace DJANGO_DB_LOGGER_ENABLE_FORMATTER in db_log_handler.py with True or False. Remove MSG_STYLE_SIMPLE, it was not used.

  5. Replace logger class django_db_logger.db_log_handler.DatabaseLogHandler in your Settings with the new logger class

  6. Customize the looger to meet your needs. :beer:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-db-logger-0.1.13.tar.gz (10.2 kB view hashes)

Uploaded Source

Built Distribution

django_db_logger-0.1.13-py3-none-any.whl (8.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page