django logger(工作中使用)
1、setting.py
注意:创建log文件夹
# 存放Log的目录 LOGGING_DIR = os.path.join(BASE_DIR, 'log') LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'simple': { 'format': '[%(asctime)s] %(levelname)s : %(message)s' }, 'verbose': { 'format': '[%(asctime)s] %(levelname)s %(module)s %(process)d %(thread)d : %(message)s' }, 'standard': { 'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(levelname)s]- %(message)s' }, }, # handlers:用来定义具体处理日志的方式,可以定义多种,"default"就是默认方式,"console"就是打印到控制台方式。file是写入到文件的方式,注意使用的class不同 'handlers': { 'mail_admins':{ 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, }, 'default': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', 'filename': os.path.join(LOGGING_DIR, 'run.log'), 'maxBytes': 1024*1024*5, 'backupCount': 5, 'formatter': 'simple', }, # 'request_handler': { # 'level': 'DEBUG', # 'class': 'logging.handlers.RotatingFileHandler', # 'filename': os.path.join(LOGGING_DIR, 'debug_request.log'), # 'maxBytes': 1024*1024*5, # 'backupCount': 5, # 'formatter': 'standard', # }, 'console': { 'level': 'INFO', 'class': 'logging.StreamHandler', # 用这'logging.StreamHandler' 日志信息才会输出到console # 'filename':os.path.join(LOGGING_DIR,'info_console.log'), # 'formatter': 'standard', 'formatter': 'simple', }, }, # log记录器,配置之后就会对应的输出日志 'loggers': { 'django': { # 'handlers': ['console', ' ', 'default'], 'handlers': ['console', 'default'], 'level': 'INFO', 'propagate': True, }, }, } # 'django'是一种类型的日志 logger = logging.getLogger("django")
2、使用
导入包
from 项目名称.settings import logger
具体使用
logger.info('ok ok ok') logger.error('no no no')