log.py 1.27 KB
# coding: utf-8

from os import path
import logging.config

def init_log(log_dir, debug=False):
    if not path.exists(log_dir):
        print 'log path is not exist:%s' % log_dir
        exit(-1)

    config = {
        'version': 1,
        'disable_existing_loggers': False,
        'formatters': {
            'default': {
                'format': '%(levelname)s %(asctime)s %(module)s:%(funcName)s:%(lineno)d %(message)s'
            },
            'simple': {
                'format': '%(level)s %(message)s'
            }
        },
        'handlers': {
            'console': {
                'level': 'DEBUG',
                'class': 'logging.StreamHandler',
                'formatter': 'default',
            },
            'file': {
                'level': 'DEBUG',
                'class': 'logging.handlers.RotatingFileHandler',
                'filename': path.join(log_dir, 'webapp.log'),
                'maxBytes': 1024 * 1024 * 50,
                'backupCount': 5,
                'formatter': 'default',
            },
        },
        'loggers': {
            'starmachine': {
                'handlers': ['console', 'file'],
                'level': 'DEBUG',
                'propagate': False,
            },
        }
    }

    logging.config.dictConfig(config)