zoukankan      html  css  js  c++  java
  • python日志模板

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'formatters': {
            'verbose': {
                'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
            },
            'main': {
                'datefmt': '%Y-%m-%d %H:%M:%S',
                'format': '%(asctime)s [%(module)s %(levelname)s] %(message)s',
            },
            'simple': {
                'format': '%(levelname)s %(message)s'
            },
        },
        'handlers': {
            'null': {
                'level': 'DEBUG',
                'class': 'logging.NullHandler',
            },
            'console': {
                'level': 'DEBUG',
                'class': 'logging.StreamHandler',
                'formatter': 'main'
            },
            'file': {
                'level': 'DEBUG',
                'class': 'logging.FileHandler',
                'formatter': 'main',
                'filename': os.path.join(PROJECT_DIR, 'logs', 'jumpserver.log')
            },
            'ansible_logs': {
                'level': 'DEBUG',
                'class': 'logging.FileHandler',
                'formatter': 'main',
                'filename': os.path.join(PROJECT_DIR, 'logs', 'ansible.log')
            },
        },
        'loggers': {
            'django': {
                'handlers': ['null'],
                'propagate': False,
                'level': LOG_LEVEL,
            },
            'django.request': {
                'handlers': ['console', 'file'],
                'level': LOG_LEVEL,
                'propagate': False,
            },
            'django.server': {
                'handlers': ['console', 'file'],
                'level': LOG_LEVEL,
                'propagate': False,
            },
            'jumpserver': {
                'handlers': ['console', 'file'],
                'level': LOG_LEVEL,
            },
            'jumpserver.users.api': {
                'handlers': ['console', 'file'],
                'level': LOG_LEVEL,
            },
            'jumpserver.users.view': {
                'handlers': ['console', 'file'],
                'level': LOG_LEVEL,
            },
            'ops.ansible_api': {
                'handlers': ['console', 'ansible_logs'],
                'level': LOG_LEVEL,
            },
            'django_auth_ldap': {
                'handlers': ['console', 'ansible_logs'],
                'level': "INFO",
            },
            # 'django.db': {
            #     'handlers': ['console', 'file'],
            #     'level': 'DEBUG'
            # }
        }
    }
    import logging
     
    #create logger
    logger = logging.getLogger('TEST-LOG')
    logger.setLevel(logging.DEBUG)
     
     
    # create console handler and set level to debug
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)
     
    # create file handler and set level to warning
    fh = logging.FileHandler("access.log")
    fh.setLevel(logging.WARNING)
    # create formatter
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
     
    # add formatter to ch and fh
    ch.setFormatter(formatter)
    fh.setFormatter(formatter)
     
    # add ch and fh to logger
    logger.addHandler(ch)
    logger.addHandler(fh)
     
    # 'application' code
    logger.debug('debug message')
    logger.info('info message')
    logger.warn('warn message')
    logger.error('error message')
    logger.critical('critical message')

     日志文件按时间(大小)自动截断

    import logging
    
    from logging import handlers
    
    logger = logging.getLogger(__name__)
    
    log_file = "timelog.log"
    #fh = handlers.RotatingFileHandler(filename=log_file,maxBytes=10,backupCount=3)
    fh = handlers.TimedRotatingFileHandler(filename=log_file,when="S",interval=5,backupCount=3)
    
    
    formatter = logging.Formatter('%(asctime)s %(module)s:%(lineno)d %(message)s')
    
    fh.setFormatter(formatter)
    
    logger.addHandler(fh)
    
    
    logger.warning("test1")
    logger.warning("test12")
    logger.warning("test13")
    logger.warning("test14")

     

  • 相关阅读:
    2101 可达性统计
    POJ1179 Polygon
    POJ1015 Jury Compromise
    读入输出优化
    队列优化dijsktra(SPFA)的玄学优化
    5104 I-country
    CH5102 Mobile Service
    P1005 矩阵取数游戏
    (模板)线段树2
    POJ3666 Making the Grade
  • 原文地址:https://www.cnblogs.com/qinghe123/p/9394620.html
Copyright © 2011-2022 走看看