예제 #1
0
파일: utils.py 프로젝트: kmshi/miro
def setup_logging(in_downloader=False):
    if in_downloader:
        if 'MIRO_IN_UNIT_TESTS' in os.environ:
            level = logging.WARN
        elif os.environ.get('MIRO_DEBUGMODE', '') == True:
            level = logging.DEBUG
        else:
            level = logging.INFO
        logging.basicConfig(level=level,
                            format='%(asctime)s %(levelname)-8s %(message)s',
                            stream=sys.stderr)
        pathname = os.environ.get("DEMOCRACY_DOWNLOADER_LOG")
        if not pathname:
            return
    else:
        if app.debugmode:
            level = logging.DEBUG
        else:
            level = logging.INFO
        logging.basicConfig(level=level, format=FORMAT)
        pathname = app.config.get(prefs.LOG_PATHNAME)

    rotater = ApatheticRotatingFileHandler(pathname,
                                           mode="a",
                                           maxBytes=100000,
                                           backupCount=5)

    formatter = logging.Formatter(FORMAT)
    rotater.setLevel(level)
    rotater.setFormatter(formatter)
    logger = logging.getLogger('')
    logger.addHandler(rotater)
    rotater.doRollover()
    try:
        for record in prelogger.remove():
            logger.handle(record)
    except ValueError:
        logging.debug("No records from prelogger.")

    if app.debugmode:
        stdouthandler = logging.StreamHandler(sys.stdout)
        stdouthandler.setLevel(level)
        stdouthandler.setFormatter(formatter)
        logger.addHandler(stdouthandler)
    else:
        sys.stdout = AutoLoggingStream(logging.warn, '(from stdout) ')
        sys.stderr = AutoLoggingStream(logging.error, '(from stderr) ')

    logging.info("Logging set up to %s at level %s", pathname, level)
예제 #2
0
파일: utils.py 프로젝트: kfatehi/miro
def setup_logging(in_downloader=False):
    if in_downloader:
        if 'MIRO_IN_UNIT_TESTS' in os.environ:
            level = logging.WARN
        elif os.environ.get('MIRO_DEBUGMODE', '') == True:
            level = logging.DEBUG
        else:
            level = logging.INFO
        logging.basicConfig(level=level,
                            format='%(asctime)s %(levelname)-8s %(message)s',
                            stream=sys.stderr)
        pathname = os.environ.get("DEMOCRACY_DOWNLOADER_LOG")
        if not pathname:
            return
    else:
        if app.debugmode:
            level = logging.DEBUG
        else:
            level = logging.INFO
        logging.basicConfig(level=level,
                            format=FORMAT)
        pathname = app.config.get(prefs.LOG_PATHNAME)

    rotater = ApatheticRotatingFileHandler(
        pathname, mode="a", maxBytes=100000, backupCount=5)

    formatter = logging.Formatter(FORMAT)
    rotater.setLevel(level)
    rotater.setFormatter(formatter)
    logger = logging.getLogger('')
    logger.addHandler(rotater)
    rotater.doRollover()
    try:
        for record in prelogger.remove():
            logger.handle(record)
    except ValueError:
        logging.debug("No records from prelogger.")

    if app.debugmode:
        stdouthandler = logging.StreamHandler(sys.stdout)
        stdouthandler.setLevel(level)
        stdouthandler.setFormatter(formatter)
        logger.addHandler(stdouthandler)
    else:
        sys.stdout = AutoLoggingStream(logging.warn, '(from stdout) ')
        sys.stderr = AutoLoggingStream(logging.error, '(from stderr) ')

    logging.info("Logging set up to %s at level %s", pathname, level)
예제 #3
0
def setup_logging(pathname, main_process=False):
    if 'MIRO_IN_UNIT_TESTS' in os.environ:
        level = logging.WARN
    elif (os.environ.get('MIRO_DEBUGMODE', '') == True or app.debugmode):
        level = logging.DEBUG
    else:
        level = logging.INFO

    rotater = ApatheticRotatingFileHandler(pathname,
                                           mode="a",
                                           maxBytes=100000,
                                           backupCount=5)

    formatter = logging.Formatter(FORMAT)
    rotater.setFormatter(formatter)
    logger = logging.getLogger('')
    logger.addHandler(rotater)
    logger.setLevel(level)
    rotater.doRollover()

    if main_process:
        # If it was redirected (by py2exe) then reset stdout/stderr to the
        # AutoLoggingStream.  Otherwise, we do actually want to output to
        # console and so leave it untouched.   Just add a log handler for it.
        # For release builds we don't care and just redirect everything for
        # the console to the log.
        if app.debugmode:
            redirected = sys.stdout != sys.__stdout__
            if redirected:
                sys.stdout = AutoLoggingStream(logging.warn, '(from stdout) ')
                sys.stderr = AutoLoggingStream(logging.error, '(from stderr) ')
            else:
                stdouthandler = logging.StreamHandler(sys.stdout)
                stdouthandler.setFormatter(formatter)
                logger.addHandler(stdouthandler)
        else:
            sys.stdout = AutoLoggingStream(logging.warn, '(from stdout) ')
            sys.stderr = AutoLoggingStream(logging.error, '(from stderr) ')

    try:
        for record in prelogger.remove():
            logger.handle(record)
    except ValueError:
        logging.debug("No records from prelogger.")

    logging.info("Logging set up to %s at level %s", pathname, level)
예제 #4
0
파일: utils.py 프로젝트: ShriramK/miro
def setup_logging(pathname, main_process=False):
    if 'MIRO_IN_UNIT_TESTS' in os.environ:
        level = logging.WARN
    elif (os.environ.get('MIRO_DEBUGMODE', '') == True or
            app.debugmode):
        level = logging.DEBUG
    else:
        level = logging.INFO

    rotater = ApatheticRotatingFileHandler(
        pathname, mode="a", maxBytes=100000, backupCount=5)

    formatter = logging.Formatter(FORMAT)
    rotater.setFormatter(formatter)
    logger = logging.getLogger('')
    logger.addHandler(rotater)
    logger.setLevel(level)
    rotater.doRollover()

    if main_process:
        # If it was redirected (by py2exe) then reset stdout/stderr to the
        # AutoLoggingStream.  Otherwise, we do actually want to output to
        # console and so leave it untouched.   Just add a log handler for it.
        # For release builds we don't care and just redirect everything for
        # the console to the log.
        if app.debugmode:
            redirected = sys.stdout != sys.__stdout__
            if redirected:
                sys.stdout = AutoLoggingStream(logging.warn, '(from stdout) ')
                sys.stderr = AutoLoggingStream(logging.error, '(from stderr) ')
            else:
                stdouthandler = logging.StreamHandler(sys.stdout)
                stdouthandler.setFormatter(formatter)
                logger.addHandler(stdouthandler)
        else:
            sys.stdout = AutoLoggingStream(logging.warn, '(from stdout) ')
            sys.stderr = AutoLoggingStream(logging.error, '(from stderr) ')

    try:
        for record in prelogger.remove():
            logger.handle(record)
    except ValueError:
        logging.debug("No records from prelogger.")

    logging.info("Logging set up to %s at level %s", pathname, level)
예제 #5
0
파일: utils.py 프로젝트: nxmirrors/miro
def setup_logging(in_downloader=False):
    global _loggingSetup
    if _loggingSetup:
        return

    if in_downloader:
        if os.environ.get('MIRO_APP_VERSION', "").endswith("git"):
            level = logging.DEBUG
        else:
            level = logging.INFO
        logging.basicConfig(level=level,
                            stream=sys.stderr)
        pathname = os.environ.get("DEMOCRACY_DOWNLOADER_LOG")
        if not pathname:
            _loggingSetup = True
            return

    else:
        level = logging.DEBUG
        pathname = app.config.get(prefs.LOG_PATHNAME)
        logging.basicConfig(level=level,
                            stream=sys.stdout)

    logger = logging.getLogger('')
    # logger.setLevel(level)
    rotater = ApatheticRotatingFileHandler(
        pathname, mode="a", maxBytes=100000, backupCount=5)
    rotater.setLevel(level)
    formatter = logging.Formatter('%(asctime)s %(levelname)-8s %(message)s')
    rotater.setFormatter(formatter)
    logger.addHandler(rotater)
    rotater.doRollover()
    try:
        for record in prelogger.remove():
            logger.handle(record)
    except ValueError:
        logging.info("No records from prelogger.")
    sys.stdout = AutoLoggingStream(logging.warn, '(from stdout) ')
    sys.stderr = AutoLoggingStream(logging.error, '(from stderr) ')

    logging.info("Logging set up to %s at level %s", pathname, level)

    _loggingSetup = True