在设置文件一般是settings.py配置logging
这里配置了三个handler分别对应三个文件,三个loggers对应相对的handler
# 设置log文件地址
LOG_PATH = 'logs'
# 设置日志
LOGGING = {
# 规定只能这样写
'version': 1,
# True表示禁用loggers
'disable_existing_loggers': False,
# 指定文件写入的格式——这里写了两个不同的格式,方便在后面不同情况需要的时候使用
'formatters': {
'default': {
'format': '%(levelno)s %(funcName)s %(asctime)s %(message)s'
},
'simple': {
'format': '%(levelname)s %(module)s %(asctime)s %(message)s'
}
},
'handlers': {
'code_handlers': {
'level': 'DEBUG',
# 日志文件指定为多大(5M), 超过大小(5M)重新命名,然后写新的日志文件
'class': 'logging.handlers.RotatingFileHandler',
'maxBytes': 5 * 1024 * 1024,
# 储存到的文件地址
'filename': '%s/log.txt' % LOG_PATH,
'formatter': 'default'
},
'users_handlers': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'maxBytes': 5 * 1024 * 1024,
'filename': '%s/users_log.txt' % LOG_PATH,
'formatter': 'default'
},
'uauth_handlers': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'maxBytes': 5 * 1024 * 1024,
'filename': '%s/uauth_log.txt' % LOG_PATH,
'formatter': 'simple'
}
},
'loggers': {
'code': {
'handlers': ['code_handlers'],
'level': 'INFO'
},
'users': {
'handlers': ['users_handlers'],
'level': 'INFO'
},
'auth': {
'handlers': ['uauth_handlers'],
'level': 'INFO'
}
},
}
使用log写入文件
导入logging
如果在用到log的view.py中,想使用test1这个日志,就写:
log=logging.getLogger(‘test1’)
log.error()
在日志内容中传递变量,log.error(“Get html error, %s” % (e))
举例
import logging
# 参数填设置里面loggers字典的key值
log = logging.getLogger('users')
# 这是在对应的方法里截取出来的
# 校验手机号码格式,是否存在
if not re.match('^1[3456789][\d]{9}$', phone):
log.error('手机格式不对:' + ' ' + phone)