logger¶
The logger block configures log suppressing and replacing rules by regular expressions. logger is available in the root, app and process blocks. The root logger configures the global rules which are applied after each app- or process-level rule.
Example¶
logger {
suppress_regex = ["^\\s*$"] # drop empty line
replace_regex = [
{
from = "(some_keyword)"
to = "\033[31m\\1\033[0m" # red color
},
]
}
Description¶
name (str | optional | default: <object name>)
The logger name. The root
loggerdoes not have this.Note
Each logger should have a unique logger name. If multiple loggers of apps, process or jobs have the same logger name,
level,suppress_regex, etc. are overwritten multiple times and the last configuration takes effect. That may not be the expected behavior.level (str | optional | default:
'info')The logger level. Log messages are filtered by this level. Available levels are ‘critical’, ‘error’, ‘warning’, ‘info’ and ‘debug’. See Python
loggingreference for more information.suppress_regex ([str] | optional | default:
[])Regular expression patterns to suppress log messages. If one of the patterns matches the log message, the message will be omitted.
replace_regex ([{“from”: str, “to”: str}] | optional | default:
[])The matched groups can be used in
tostring as\\1,\\2, and so on. Note that\(backslash) must be escaped by an extra\, such as\\n.Tip
replace_regexis especially useful to emphasize keywords on debugging like the example below.