Opened 9 years ago
Closed 9 years ago
#25321 closed Cleanup/optimization (fixed)
Make it clear that django.db.backends.schema messages (which can propogate to django.db.backends) don't include 'duration'
Reported by: | netpositive36 | Owned by: | Markus Holtermann |
---|---|---|---|
Component: | Documentation | Version: | 1.8 |
Severity: | Normal | Keywords: | logging, db |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | yes | UI/UX: | no |
Description
It fails on everything written in the logging message format (except asctime) so the extra parameters (duration, sql, etc.) mentioned in the documentation doesn't work.
# LOGGING LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse' }, # Temporary SuspiciousOperation filter 'skip_suspicious_operations': { '()': 'django.utils.log.CallbackFilter', 'callback': skip_suspicious_operations, }, }, 'formatters': { 'standard': { 'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s' }, 'simple': { 'format': '> %(levelname)-8s %(message)s' }, 'verbose': { 'format': '%(levelname)-8s %(message)s [%(asctime)s %(filename)s:%(funcName)s:%(lineno)d]' }, 'simple_sql': { 'format': '%% %(asctime)s %(duration).3f %(sql)s' # }, }, 'handlers': { 'null': { 'level':'DEBUG', 'class':'django.utils.log.NullHandler', }, 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', 'formatter': 'simple' }, 'console_sql':{ 'level':'DEBUG', 'class':'logging.StreamHandler', 'formatter': 'simple_sql' }, 'sql_log_file': { 'level':'DEBUG', 'class':'logging.handlers.RotatingFileHandler', 'filename': APP_LOG_HOME + 'django_sql_log.log', 'maxBytes': 1024*1024*10, # 10 MB 'backupCount': 10, 'formatter':'simple_sql', }, 'mail_admins': { 'level': 'ERROR', 'filters': ['require_debug_false', 'skip_suspicious_operations'], # Temporary SuspiciousOperation filter 'class': 'common.log.AdminMultilineEmailHandler' #'django.utils.log.AdminEmailHandler', }, }, 'loggers': { '': { 'handlers': ['console', 'log_file'], 'level': 'DEBUG', 'propagate': False, }, 'z.caching': { 'handlers': ['null'], 'level': 'DEBUG', 'propagate': False, }, 'django.db.backends': { 'handlers': ['sql_log_file'], 'level': 'DEBUG', 'propagate': False, }, 'django': { 'handlers': ['console'], 'level': 'DEBUG', 'propagate': True, }, 'django.request': { 'handlers': ['console', 'mail_admins'], 'level': 'DEBUG', 'propagate': False }, } }
Traceback (most recent call last): File "/usr/local/Cellar/python/2.7.10_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/handlers.py", line 76, in emit if self.shouldRollover(record): File "/usr/local/Cellar/python/2.7.10_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/handlers.py", line 156, in shouldRollover msg = "%s\n" % self.format(record) File "/usr/local/Cellar/python/2.7.10_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 732, in format return fmt.format(record) File "/usr/local/Cellar/python/2.7.10_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 474, in format s = self._fmt % record.__dict__ KeyError: 'duration' Logged from file schema.py, line 102
Change History (12)
follow-up: 2 comment:1 by , 9 years ago
comment:2 by , 9 years ago
Replying to timgraham:
It looks like you are also handling messages from the
'django.db.backends.schema'
logger which doesn't includeduration
. Perhaps a documentation update could clarify this?
Yes, it'd be awesome.
comment:3 by , 9 years ago
Component: | Database layer (models, ORM) → Documentation |
---|---|
Easy pickings: | set |
Summary: | Logging throws exception because of the formatter string for django.db.backends logger → Make it clear that django.db.backends.schema messages (which can propogate to django.db.backends) don't include 'duration' |
Triage Stage: | Unreviewed → Accepted |
Type: | Bug → Cleanup/optimization |
comment:4 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:5 by , 9 years ago
Owner: | removed |
---|---|
Status: | assigned → new |
comment:6 by , 9 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:7 by , 9 years ago
Owner: | removed |
---|---|
Status: | assigned → new |
comment:8 by , 9 years ago
Has patch: | set |
---|---|
Owner: | set to |
Status: | new → assigned |
comment:9 by , 9 years ago
Patch needs improvement: | set |
---|
comment:10 by , 9 years ago
Owner: | changed from | to
---|---|
Patch needs improvement: | unset |
PR updated: https://github.com/django/django/pull/6289
comment:11 by , 9 years ago
Triage Stage: | Accepted → Ready for checkin |
---|
Note:
See TracTickets
for help on using tickets.
It looks like you are also handling messages from the
'django.db.backends.schema'
logger which doesn't includeduration
. Perhaps a documentation update could clarify this?