Reputation: 665
Settings:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/Users/user/djangoLogs/debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
I've added the following to my views.py
logger = logging.getLogger(__name__)
However, I'm not seeing any of my log messages in the debug.log. I do see some Django logs/error messages so it seems like the native Django logging is working.
Here's an example of a log message that I'm expecting to see:
try:
response.raise_for_status()
except requests.exceptions.HTTPError as e:
logger.debug("get_thumbnails call failed: ", e)
httpd.conf
#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel debug
mod-wsgi version is 4.6.4 Django version is 2.1
Upvotes: 1
Views: 3776
Reputation: 3674
Django comes with an in-built logger. Use that to produce the logs.
Example:
# settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/path/to/django/debug.log',
},
'your_handler': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/path/to/logs'
}
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
'your_logger': {
'handlers': ['your_handler'],
'level': 'DEBUG',
'propagate': True
}
},
}
EDIT:
Updated the above piece of code to include a custom logger named your_logger
which you can use from your view to write to.
view:
logger = logging.getLogger('your_logger')
Upvotes: 1