Logger for the logging module that writes messages to the django database
Install using pip:
pip install --upgrade django-logging-eventlog
Modify your
settings.py
. Addeventlog
to yourINSTALLED_APPS
:INSTALLED_APPS = [ #django apps 'eventlog', #your apps ]
Configure
LOGGING
in yoursettings.py
for example:LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'eventlog': { 'class': 'eventlog.services.EventLogHandler' }, 'console': { 'class': 'logging.StreamHandler', }, }, 'loggers': { 'root': { 'handlers': ['console', 'eventlog'], 'level': 'INFO', 'propagate': True, }, } }
Run
python manage.py makemigrations eventlog
and run Runpython manage.py migrate
import logging
logger = logging.getLogger(__name__)
logger.info('info')
logger.debug('debug')
logger.error('error')
logger.critical('critical')
logger.warning('warning')
try:
1/0
except Exception as ex:
logger.exception(ex, exc_info=ex)
To prune the eventlog, use the command as pruneeventlog
.
For example, to keep records in the database only for the last 30 days, run:
python manage.py pruneeventlog 30