如何禁用 Flow 中的警告?

How to disable warnings in Flow?

我已将所有记录器设置为 CRITICAL:

import logging
loggers = [logging.getLogger()] 
loggers = loggers + [logging.getLogger(name) for name in logging.root.manager.loggerDict]
for logger in loggers:
    logger.setLevel(logging.FATAL)

我仍然收到这些消息:

Warning: Vehicle 'flow_00.0' performs emergency braking with decel=-9.00 wished=7.50 severity=1.00, time=21.00.

问题1:如何管理Flow中的日志级别?或者底层 SUMO/Aimsum 后端?

在 Flow 代码中,我看到了这些东西:

import logging
logging.warning("some stuff")

问题二:为什么只在根日志上记录?如果出于某种原因我想禁用根日志,而不是来自 Flow 的日志,我该怎么做?

此警告是 SUMO 警告。使用 Flow,您可以通过在模拟参数 sim_params 中指定 print_warnings=false 来禁用它。

查看flow/core/kernel/simulation.traci.py文件,warning disable是这样执行的:

if not sim_params.print_warnings:
    sumo_call.append("--no-warnings")
    sumo_call.append("true")