我需要获取IO.puts或IO.inspect的行号或elixir控制台上出现的任何其他类型的输出以进行调试。这是否有内置功能?或者还有其他简单的方法来实现同样的目标吗?
P.S:通过IO.puts的行号,我的意思是在代码中写入IO.puts的行。
答案 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