- Author:
- vaibhav-jain
- Posted:
- October 27, 2014
- Language:
- Python
- Version:
- .96
- Score:
- 0 (after 0 ratings)
Log Django exceptions to file. Contains snippet for both WatchedFileHandler and RotatingFileHandler handlers. Configurations mentioned are separate And only works if the DEBUG = False. Use "python manage.py runserver --no-reload" If you get file in use error.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | `
# Add this configuration to your Django settings.py file
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s',
'datefmt': "%d/%b/%Y %H:%M:%S",
},
},
'handlers': {
# Log to a text file
'logfile': {
'class': 'logging.handlers.WatchedFileHandler',
'filename': 'path/to/log/file',
'formatter': 'verbose',
},
},
'loggers': {
'django': {
'handlers': ['logfile'],
'level': 'DEBUG',
'propagate': False,
},
},
}
# This is logging configuration 'RotatingFileHandler'
# The setting mentioned above and below are totally seprate.
# Logger configuration
# Create a seprate folder within your project.
# For storing logs.
# Change `myproject` with your project name.
LOGFILE_NAME = os.path.join(BASE_DIR, 'logs/myproject.log')
# Max size allowed for one file
# This setting will be used by 'RotatingFileHandler'
# I have kept maxBytes to low value.
# Just for demonstration purpose.
LOGFILE_SIZE = 1 * 1024
# Log file count
LOGFILE_COUNT = 2
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s',
'datefmt': "%d/%b/%Y %H:%M:%S",
},
},
'handlers': {
# Log to a text file that can be rotated by logrotate
'logfile': {
'level': 'DEBUG',
'formatter': 'verbose',
'class': 'logging.handlers.RotatingFileHandler',
'filename': LOGFILE_NAME,
'maxBytes': LOGFILE_SIZE,
'backupCount': LOGFILE_COUNT,
},
},
'loggers': {
'django': {
'handlers': ['logfile'],
'level': 'DEBUG',
'propagate': True,
},
},
}`
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 10 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 3 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
- Help text hyperlinks by sa2812 1 year, 7 months ago
Comments
Please login first before commenting.