Skip to content

robot.output.logger

Logger

Logger(register_console_logger=True)

Bases: AbstractLogger

A global logger proxy to delegating messages to registered loggers.

Whenever something is written to LOGGER in code, all registered loggers are notified. Messages are also cached and cached messages written to new loggers when they are registered.

NOTE: This API is likely to change in future versions.

Source code in src/robot/output/logger.py
def __init__(self, register_console_logger=True):
    self._console_logger = None
    self._syslog = None
    self._xml_logger = None
    self._cli_listeners = None
    self._lib_listeners = None
    self._other_loggers = []
    self._message_cache = []
    self._log_message_cache = None
    self._started_keywords = 0
    self._error_occurred = False
    self._error_listener = None
    self._prev_log_message_handlers = []
    self._enabled = 0
    self._cache_only = False
    if register_console_logger:
        self.register_console_logger()

message

message(msg)

Messages about what the framework is doing, warnings, errors, ...

Source code in src/robot/output/logger.py
def message(self, msg):
    """Messages about what the framework is doing, warnings, errors, ..."""
    if not self._cache_only:
        for logger in self:
            logger.message(msg)
    if self._message_cache is not None:
        self._message_cache.append(msg)
    if msg.level == 'ERROR':
        self._error_occurred = True
        if self._error_listener:
            self._error_listener()