diff --git a/libraries/base/logger.py b/libraries/base/logger.py index ec83f2b916a6eaaeaf7eaae9025d9e699333f790..b9d15e41a72125176ceff0de70b77a4426accdc5 100644 --- a/libraries/base/logger.py +++ b/libraries/base/logger.py @@ -1,26 +1,22 @@ # -# engine +# Aura Engine # -# Playout Daemon for autoradio project +# Copyright (C) 2017-2020 +# David Trattnig <david.trattnig@subsquare.at> +# Gottfried Gaisbauer <gottfried.gaisbauer@servus.at> # +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. # -# Copyright (C) 2017-2018 Gottfried Gaisbauer <gottfried.gaisbauer@servus.at> -# -# This file is part of engine. -# -# engine 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 -# any later version. -# -# engine 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 engine. If not, see <http://www.gnu.org/licenses/>. +# 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 Affero General Public License for more details. # +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. import logging @@ -28,19 +24,40 @@ from libraries.base.config import AuraConfig class AuraLogger(): + """ + AuraLogger Class + + Logger for all Aura Engine components. The default + logger is `AuraEngine`. Other loggers are defined + by passing a custom name on instantiation. + + The logger respects the log-level as defined in the + engine's configuration file. + """ config = None logger = None - def __init__(self, config): + + + def __init__(self, config, name="AuraEngine"): + """ + Constructor to create a new logger defined by + the passed name. + + Args: + name (String): The name of the logger + """ self.config = config + self.__create_logger(name) + - self.__create_logger("AuraEngine") def __create_logger(self, name): """ - Creates the logger instance for AuraEngine - :param name: LoggerName - :return: + Creates the logger instance for the given name. + + Args: + name (String): The name of the logger """ lvl = self.config.get("loglevel") @@ -50,7 +67,7 @@ class AuraLogger(): if not self.logger.hasHandlers(): # create file handler for logger - file_handler = logging.FileHandler(self.config.get("logdir") + "/engine.log") + file_handler = logging.FileHandler(self.config.get("logdir") + "/"+name+".log") file_handler.setLevel(lvl) # create stream handler for logger