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')

 

posted @ 2020-04-01 10:13  市丸银  阅读(1148)  评论(0编辑  收藏  举报