config: add console log_level parameter
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
0064fa979c
commit
68c2103c58
|
@ -849,6 +849,17 @@ class Config: # pylint: disable=too-many-instance-attributes
|
||||||
arg="--console-log-format",
|
arg="--console-log-format",
|
||||||
comment="Console log format",
|
comment="Console log format",
|
||||||
)
|
)
|
||||||
|
console_section.add_option(
|
||||||
|
StringOption,
|
||||||
|
"log_level",
|
||||||
|
comment=(
|
||||||
|
"Console log level limit : by default, all logged messages (according to main log "
|
||||||
|
"level) will be logged to the console, but you can set a minimal level if you "
|
||||||
|
# logging.getLevelNamesMapping() not available in python 3.9
|
||||||
|
# pylint: disable=protected-access
|
||||||
|
f"want. Possible values: {', '.join(logging._nameToLevel)}."
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
logfile_section = self.add_section("logfile", comment="Logging file")
|
logfile_section = self.add_section("logfile", comment="Logging file")
|
||||||
logfile_section.add_option(StringOption, "path", comment="File log path")
|
logfile_section.add_option(StringOption, "path", comment="File log path")
|
||||||
|
@ -950,21 +961,33 @@ class Config: # pylint: disable=too-many-instance-attributes
|
||||||
self.set(*opt_info)
|
self.set(*opt_info)
|
||||||
|
|
||||||
if self.get("console", "enabled"):
|
if self.get("console", "enabled"):
|
||||||
stdout_console_handler = logging.StreamHandler(
|
console_log_level = (
|
||||||
sys.stderr if self.get("console", "force_stderr") else sys.stdout
|
# logging.getLevelNamesMapping() not available in python 3.9
|
||||||
|
# pylint: disable=protected-access
|
||||||
|
logging._nameToLevel.get(self.get("console", "log_level"))
|
||||||
|
if self.get("console", "log_level")
|
||||||
|
else logging.DEBUG
|
||||||
)
|
)
|
||||||
stdout_console_handler.addFilter(StdoutInfoFilter())
|
if console_log_level < logging.WARNING:
|
||||||
stdout_console_handler.setLevel(logging.DEBUG)
|
stdout_console_handler = logging.StreamHandler(
|
||||||
|
sys.stderr if self.get("console", "force_stderr") else sys.stdout
|
||||||
|
)
|
||||||
|
stdout_console_handler.addFilter(StdoutInfoFilter())
|
||||||
|
stdout_console_handler.setLevel(console_log_level)
|
||||||
|
|
||||||
stderr_console_handler = logging.StreamHandler(sys.stderr)
|
stderr_console_handler = logging.StreamHandler(sys.stderr)
|
||||||
stderr_console_handler.setLevel(logging.WARNING)
|
stderr_console_handler.setLevel(
|
||||||
|
console_log_level if console_log_level > logging.WARNING else logging.WARNING
|
||||||
|
)
|
||||||
|
|
||||||
if self.get("console", "log_format"):
|
if self.get("console", "log_format"):
|
||||||
console_formater = logging.Formatter(self.get("console", "log_format"))
|
console_formater = logging.Formatter(self.get("console", "log_format"))
|
||||||
stdout_console_handler.setFormatter(console_formater)
|
if console_log_level < logging.WARNING:
|
||||||
|
stdout_console_handler.setFormatter(console_formater)
|
||||||
stderr_console_handler.setFormatter(console_formater)
|
stderr_console_handler.setFormatter(console_formater)
|
||||||
|
|
||||||
logging.getLogger().addHandler(stdout_console_handler)
|
if console_log_level < logging.WARNING:
|
||||||
|
logging.getLogger().addHandler(stdout_console_handler)
|
||||||
logging.getLogger().addHandler(stderr_console_handler)
|
logging.getLogger().addHandler(stderr_console_handler)
|
||||||
|
|
||||||
if self.get("logfile", "path"):
|
if self.get("logfile", "path"):
|
||||||
|
|
Loading…
Reference in a new issue