django logging 配置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'first_formatter': {
'format': '%(levelname)s [%(asctime)s] [%(name)s:%(module)s:%(funcName)s:%(lineno)s] [%(exc_info)s] %(message)s',
'datefmt': '%Y-%m-%d %H:%M:%S'
},
},
'filters': {
'DebugFalse': {
'()': 'django.utils.log.RequireDebugFalse',
},
'DebugTrue': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'filters': ['DebugTrue'],
'class': 'logging.StreamHandler',
'formatter': 'first_formatter'
},
'db': {
'level': 'DEBUG',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': '{0}/logs/db.log'.format(BASE_DIR),
'formatter': 'first_formatter',
'when': 'midnight'
},
},
'loggers': {
'django.db': {
'handlers': ['console', 'db'],
'level': 'DEBUG',
'propagate': False,
}
}
}
在启用 sqlite 作为数据库的时候 的时候执行有 sql 语句输出
DEBUG [2019-04-28 16:43:19] [django.db.backends:utils:execute:111] [None] (0.000) SELECT "books_book"."id", "books_book"."book_id", "books_book"."name", "books_book"."author", "books_book"."author_re_id", "books_book"."price", "books_book"."publish", "books_book"."score", "books_book"."cover", "books_book"."url", "books_book"."introduction", "books_book"."create_time" FROM "books_book" WHERE "books_book"."name" LIKE '%少年%' ESCAPE '\' LIMIT 21; args=('%少年%',)
在采用 mysql 数据库的时候无具体 SQL 输出
DEBUG [2019-04-28 16:43:29] [django.db.backends:utils:execute:111] [None] (0.006) None; args=('%少年%',)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.