gpt4 book ai didi

logging - Logger 无与伦比的返回

转载 作者:行者123 更新时间:2023-12-04 20:35:40 24 4
gpt4 key购买 nike

静态分析器透析器(我通过 dialyxir 使用它)将 Logger(Logger.info "blah")的所有使用情况报告为不匹配的返回:

Expression produces a value of type 'ok' | {'error',_}, but this value is unmatched

我可以写 :ok  = Logger.info "blah"但显然,这很麻烦。我还可以使用 -Wno_unmatched_returns 配置透析器忽略所有这些警告。但是,我发现它们非常有用,不想忽略它们。

documentation of dialyzer说我们可以使用模块属性在每个模块的基础上停用警告,但我看不到是否只能将这些信息放在 Elixir 源文件中。

有没有办法将 Dialyzer 配置为忽略此类警告,但仅适用于 Logger?

最佳答案

有@dialyzer 属性的文档 here .您需要稍微向下搜索页面才能找到它。

在这种特殊情况下,我相信以下模块属性:

@dialyzer {:no_return, your_function_name: 1}

应该给你你想要的。只需将它放在您使用 Logger 的每个模块的顶部,如下所示:
defmodule MyLogging do
@dialyzer {:no_return, your_function_name: 1}
.
.
.

请注意,您似乎只能关闭当前模块中功能的警告。也就是说,似乎不可能关闭不同模块中功能的警告(例如 Logger.info: 1 )。

关于logging - Logger 无与伦比的返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36398151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com