File: C:/Users/fred/anaconda3/Lib/site-packages/anaconda_project/verbose.py
# -*- coding: utf-8 -*-
# -----------------------------------------------------------------------------
# Copyright (c) 2016, Anaconda, Inc. All rights reserved.
#
# Licensed under the terms of the BSD 3-Clause License.
# The full license is in the file LICENSE.txt, distributed with this software.
# -----------------------------------------------------------------------------
"""Control verbose output."""
from __future__ import absolute_import
import logging
_verbose_loggers = []
def push_verbose_logger(logger):
"""Push a logger to log verbose messgaes."""
global _verbose_loggers
_verbose_loggers.append(logger)
def pop_verbose_logger():
"""Remove the most recently-pushed verbose logger."""
global _verbose_loggers
assert len(_verbose_loggers) > 0
_verbose_loggers.pop()
_cached_null_logger = None
def _null_logger():
global _cached_null_logger
if _cached_null_logger is None:
logger = logging.getLogger(name='anaconda_project_null')
logger.addHandler(logging.NullHandler())
_cached_null_logger = logger
return _cached_null_logger
def _verbose_logger():
"""Used internal to anaconda-project library to get the current verbose logger."""
if len(_verbose_loggers) > 0:
return _verbose_loggers[-1]
else:
return _null_logger()