def output()

in output/logger.py [0:0]


    def output(self):
        if 'message' not in self.output_config:
            raise NotConfiguredException('No log message defined!')

        message_template = self.jinja_environment.from_string(
            self.output_config['message'])
        message_template.name = 'message'
        message_rendered = message_template.render()

        extra_vars = {}
        if 'variables' in self.output_config:
            for k, v in self.output_config['variables'].items():
                variable_template = self.jinja_environment.from_string(v)
                variable_template.name = 'variable'
                val = variable_template.render()
                extra_vars[k] = val

        log_level = 'info'
        if 'level' in self.output_config:
            loglevel_template = self.jinja_environment.from_string(
                self.output_config['level'])
            loglevel_template.name = 'loglevel'
            log_level = loglevel_template.render()
        if 'stdout' in self.output_config and self.output_config['stdout']:
            print(message_rendered)
        elif log_level == 'error' or log_level == 'err':
            self.logger.error(message_rendered, extra=extra_vars)
        elif log_level == 'warn' or log_level == 'warning':
            self.logger.warning(message_rendered, extra=extra_vars)
        else:
            self.logger.info(message_rendered, extra=extra_vars)