对网站、微服务来说,log(日志)是比较重要的运维工具。 Django的log,主要是复用Python标准库中的logging模块,在settings.py
中进行配置。 此外,也提供了一些独特的扩展。
settings.py
TIME_ZONE = 'Asia/Shanghai' LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { #有这个配置在,可以不用修改系统的配置 'verbose': { 'format': '{asctime} {module}.{funcName} {lineno:3} {levelname:7} => {message}',
#asctime> 2018-11-15 module> 是模块名 funcName>函数名 lineno:3>至少显示3个字符 少则补空格 levelname>是log级别 message>是log内容 'style': '{', }, }, 'handlers': { 'console': { 'class': 'logging.StreamHandler', 'formatter': 'verbose', }, 'file': { 'class': 'logging.handlers.RotatingFileHandler', 'formatter': 'verbose', 'filename': '/tmp/django.log', 'maxBytes': 4194304, # 4 MB 'backupCount': 10, 'level': 'DEBUG', }, }, 'loggers': { '': { 'handlers': ['console', 'file'], 'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), }, 'django': { 'handlers': ['console', 'file'], 'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), 'propagate': False, }, }, }