如何在Elixir中的控制台输出中获取行号

时间:2015-11-05 09:26:39

标签: elixir iex

我需要获取IO.puts或IO.inspect的行号或elixir控制台上出现的任何其他类型的输出以进行调试。这是否有内置功能?或者还有其他简单的方法来实现同样的目标吗?

P.S:通过IO.puts的行号,我的意思是在代码中写入IO.puts的行。

1 个答案:

答案 0 :(得分:6)

您可能正在寻找documentation,这将使您可以访问当前文件和行(以及其他内容)。你可以这样做:

create your main window (frame=new MyWindow())

编辑:正如José在评论中所建议的那样,更好的方法是使用记录器的元数据功能。目前,您只能添加Logger.debug("#{__ENV__.file}:#{__ENV__.line}: #{inspect some_value}") :module:function键:

:line

但是,我做了一个PR来添加# config/config.exs config :logger, :console, metadata: [:module, :function, :line] 键。它已经合并,应该与下一版本的Elixir一起发布。使用新版本,您可以

:file