18 from robot.utils import get_timestamp, is_string, safe_str
42 self.
writewrite(msg,
'TRACE')
45 self.
writewrite(msg,
'DEBUG')
48 self.
writewrite(msg,
'INFO')
51 self.
writewrite(msg,
'WARN')
55 if msg.startswith(
"*HTML*"):
57 msg = msg[6:].lstrip()
58 self.
writewrite(msg,
'FAIL', html)
62 if msg.startswith(
"*HTML*"):
64 msg = msg[6:].lstrip()
65 self.
writewrite(msg,
'SKIP', html)
68 self.
writewrite(msg,
'ERROR')
70 def write(self, message, level, html=False):
74 raise NotImplementedError(self.__class__)
78 __slots__ = [
'_message']
80 def __init__(self, message, level='INFO', html=False, timestamp=None):
84 super().
__init__(message, level, html, timestamp)
86 def _normalize_message(self, msg):
92 msg = msg.replace(
'\r\n',
'\n')
95 def _get_level_and_html(self, level, html):
99 if level
not in LEVELS:
100 raise DataError(
"Invalid log level '%s'." % level)
115 def resolve_delayed_message(self):
130 old = self.
levellevel
136 return LEVELS[level.upper()]
138 raise DataError(
"Invalid log level '%s'." % level)
149 _no_method =
lambda *args:
None
151 def __init__(self, logger, method_names=None, prefix=None):
153 for name
in method_names
or self.
_methods_methods:
155 if hasattr(self, name):
156 if hasattr(logger, name):
161 setattr(target, name, self.
_get_method_get_method(logger, name, prefix))
165 if hasattr(logger, method_name):
166 return getattr(logger, method_name)
170 names = [name, self.
_toCamelCase_toCamelCase(name)]
if '_' in name
else [name]
172 names += [prefix + name
for name
in names]
176 parts = name.split(
'_')
177 return ''.join([parts[0]] + [part.capitalize()
for part
in parts[1:]])
A message created during the test execution.
def __init__(self, message='', level='INFO', html=False, timestamp=None, parent=None)
def _get_method(self, logger, name, prefix)
def _get_method_names(self, name, prefix)
def __init__(self, logger, method_names=None, prefix=None)
def _toCamelCase(self, name)
def __init__(self, level='TRACE')
def set_level(self, level)
def write(self, message, level, html=False)
def set_level(self, level)
def _level_to_int(self, level)
def __init__(self, level)
def __call__(self, level)
def _normalize_message(self, msg)
def resolve_delayed_message(self)
def _get_level_and_html(self, level, html)
def get_timestamp(daysep='', daytimesep=' ', timesep=':', millissep='.')