Đây là một giải pháp dựa trên ghi nhật ký Django. Nó sử dụng cài đặt DEBUG thay vì thực sự kiểm tra xem bạn có đang chạy máy chủ phát triển hay không, nhưng nếu bạn tìm thấy cách tốt hơn để kiểm tra thì nó sẽ dễ dàng thích ứng.
LOGGING = {
'version': 1,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/path/to/your/file.log',
'formatter': 'simple'
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
}
}
if DEBUG:
# make all loggers use the console.
for logger in LOGGING['loggers']:
LOGGING['loggers'][logger]['handlers'] = ['console']
xem https://docs.djangoproject.com/en/dev/topics/logging/ để biết chi tiết.