Beispiel #1
0
    def log(logger, messages, title=False, boxed=False, loglevel='info', silent=False):
        """
        Print a message on stdout and log to file
        :param logger: Logger object to use for the logging
        :type logger: ovs.log.log_handler.LogHandler
        :param messages: Messages to print and log
        :type messages: str or list
        :param title: If True some extra chars will be pre- and appended
        :type title: bool
        :param boxed: Use the Interactive boxed message print option
        :type boxed: bool
        :param loglevel: level to log on
        :type loglevel: str
        :param silent: If set to True, the messages will only be logged to file
        :type silent: bool
        :return: None
        """
        if type(messages) in (str, basestring, unicode):
            messages = [messages]
        if silent is False:
            if boxed is True:
                print Interactive.boxed_message(lines=messages)
            else:
                for message in messages:
                    if title is True:
                        message = '\n+++ {0} +++\n'.format(message)
                    if loglevel in ['error', 'exception']:
                        message = 'ERROR: {0}'.format(message)
                    print message

        for message in messages:
            getattr(logger, loglevel)(message)