add a 'settings' attribute on loggers to store user values like 'save_responses', 'responses_dirname', 'ssl_insecure', etc.

This commit is contained in:
Romain Bignon 2014-03-25 22:58:35 +01:00
commit 42028c390f
5 changed files with 34 additions and 39 deletions

View file

@ -17,11 +17,12 @@
# You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
from collections import defaultdict
from logging import Formatter, getLogger as _getLogger
import sys
__all__ = ['getLogger', 'createColoredFormatter']
__all__ = ['getLogger', 'createColoredFormatter', 'settings']
RESET_SEQ = "\033[0m"
@ -36,10 +37,16 @@ COLORS = {
}
# Global settings f logger.
settings = defaultdict(lambda: None)
def getLogger(name, parent=None):
if parent:
name = parent.name + '.' + name
return _getLogger(name)
logger = _getLogger(name)
logger.settings = settings
return logger
class ColoredFormatter(Formatter):