Source code for obci.analysis.obci_signal_processing.obci_signal_processing_logging
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# OpenBCI - framework for Brain-Computer Interfaces based on EEG signal
# Project was initiated by Magdalena Michalska and Krzysztof Kulewski
# as part of their MSc theses at the University of Warsaw.
# Copyright (C) 2008-2009 Krzysztof Kulewski and Magdalena Michalska
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author:
# Mateusz KruszyĆski <mateusz.kruszynski@gmail.com>
"""Module defines a single method get_logger that returns logger with
set logging level. Change loggin.INFO lines to change logging level."""
import logging
LEVELS = {'debug': logging.DEBUG,
'info': logging.INFO,
'warning': logging.WARNING,
'error': logging.ERROR,
'critical': logging.CRITICAL}
[docs]def get_logger(p_name, p_level='info'):
"""Return logger with p_name as name. And logging level p_level.
p_level should be in (starting with the most talkactive):
'debug', 'info', 'warning', 'error', 'critical'."""
logger = logging.getLogger(p_name)
if len(logger.handlers) == 0:
# Some module migh be imported few times. In every get_logger call
# with p_name = "X" we return the same instance of logger, bu we must
# ensure, that the logger has no more than one handler.
handler = logging.StreamHandler()
level = LEVELS[p_level]
logger.setLevel(level)
handler.setLevel(level)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger