allennlp 如何在命令行模式下关闭INFO消息?

cgh8pdjw  于 6个月前  发布在  其他
关注(0)|答案(6)|浏览(77)

我正在命令行模式下运行allennlp。有什么办法可以关闭INFO消息吗?
从之前的issue中,我看到有一个环境变量可以设置。但我不确定应该设置为什么值。

if os.environ.get("ALLENNLP_DEBUG"):
    LEVEL = logging.DEBUG
else:
    LEVEL = logging.INFO

在bash shell中执行"export ALLENNLP_DEBUG=DEBUG"似乎无法抑制INFO消息。

uurity8g

uurity8g1#

你好@mchari,logging.DEBUG的级别低于logging.INFO,所以它包含了所有的信息消息。我们可以在这里做一件事,就是创建一个名为ALLENNLP_LOG_LEVEL的环境变量,直接设置级别。你有兴趣发起一个小型的PR吗?(另外,我们应该确保ALLENNLP_DEBUG继续像以前一样工作。)

kiayqfof

kiayqfof2#

我愿意解决这个问题,任何关于起点的建议都会很棒。

goucqfw6

goucqfw63#

命令行参数可以是什么(例如,--log-level)?

5lwkijsr

5lwkijsr4#

Hi @Prhmma,感谢提供!逻辑似乎存在于
allennlp/allennlp/run.py
第6行
| | if os.environ.get("ALLENNLP_DEBUG"): |
.您只需要为日志级别添加一个新的环境变量并添加一些条件。请确保 ALLENNLP_DEBUG 的逻辑仍然有效。
@bryant1410,我对命令行参数并不是非常热衷,因为(至少在当前代码结构下)我们需要在不同命令之间重复参数。我们应该真正改进这一点,但这使得这个小问题变成了一个更复杂的问题。

uz75evzq

uz75evzq5#

@mchari 你怎么解决这个问题的?
szqfcxe2

szqfcxe26#

@brendan-ai2 它对我不起作用,if os.environ.get("ALLENNLP_DEBUG"): LEVEL = logging.DEBUG else: LEVEL = logging.ERROR

相关问题