Skip to content

zenweasel/log4django

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

log4django

log4django is full features logging platform for django applications. The project is in very early stage, so excuse the brief documentation.

Requirements

  • python 2.7
  • packages listed in setup.py

Installation

Install via pipy or copy this module into your project or into your PYTHON_PATH.

In your settings.py file:

Add log4django into INSTALLED_APPS. :

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',
    'django.contrib.sitemaps',
    'debug_toolbar',
    'log4django'
)

Add log4django INTO CONTEXT_PROCESSORS. :

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.static',
    'django.core.context_processors.tz',
    'django.core.context_processors.request',
    'django.contrib.messages.context_processors.messages',
    'log4django.context_processors.log4django'
)

Configure your logging with log4django appender. :

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'log4django': {
            'level': 'DEBUG',
            'class': 'log4django.handlers.ModelHandler' # Synchronous log creations.
        },
        'log4django_async': {
            'level': 'DEBUG',
            'class': 'log4django.handlers.GearmanHandler' # Asynchronous log creations, doesn't block.
        }
    },
    'loggers': {
        '': {
            'handlers': ['log4django_async'],
            'level': 'DEBUG'
        }
    }
}

Configuration

django settings.py constants with default values.

LOG4DJANGO_PAGE_TITLE = 'log4django'
LOG4DJANGO_CONNECTION_NAME = 'default'
LOG4DJANGO_DEFAULT_APP_ID = None  # If you have only one app, put App.pk here
LOG4DJANGO_GEARMAN_TASK_NAME = 'log4django_event'
LOG4DJANGO_PAGE_SIZE = 100  # How many records to display on one page.
LOG4DJANGO_PAGINATOR_RANGE = 15  # How many pages to show in pagination.
LOG4DJANGO_EXTRA_DATA_INDENT = 4  # Extra data json indentation.
LOG4DJANGO_AUTHENTICATION_PIPELINE', (
    'log4django.pipeline.authentication.is_logged',
))  # Basic authentication
'LOG4DJANGO_PERSISTATION_PIPELINE', (
    'log4django.pipeline.process_bundle_data.persist_record',
))  # Controlls how records are persisted.
LOG4DJANGO_CSV_EXPORT_EXTRA_JSON_PATHS = tuple()  #  List of json paths to include in csv export.
LOG4DJANGO_CSV_DOWNLOAD_FILE_NAME = 'log4django.csv'

Development setup

$ ./scripts/setup.sh
$ python manage.py syncdb --noinput
$ python manage.py test log4django
$ python manage.py runserver

Tests

Tested on evnironment

  • Linux Mint 15 Olivia 64-bit
  • python 2.7.4
  • python unitest

Running tests

To run the tests, execute one of the following command::

$ python manage.py test log4django

Author

char0n (Vladimir Gorej, CodeScale)
email: gorej@codescale.net
web: http://www.codescale.net/

About

logging platform for django projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published