我决定在我的Erlang项目中安装lager。我使用erlang.mk,所以我添加了在通用测试测试运行期间Lager调用失败
ERLC_OPTS = +'{parse_transform, lager_transform}'
到我的Makefile。我可以运行make all
并编译模块没有错误。我也可以启动一个erl
控制台并使用lager运行包含模块的应用程序。在控制台会话期间,不会生成错误并记录日志消息。似乎一切都很好(这是我第一次使用啤酒)。但是,当我运行常用的测试中,啤酒调用失败:
10:11:17.174 [error] CRASH REPORT Process <0.238.0> with 2 neighbours exited with reason: call to undefined function lager:info("Params: ~p", [[]]) in gen_server:init_it/6 line 328
因为它看起来好像我测试的模块已经正确编译,我认为这是不存在的啤酒模块的问题。不过,如果我补充一点:
erlang:display(lager:module_info()),
第一啤酒上面称之为成功,为印刷啤酒模块信息。我假设我正在做的日志记录调用正在使用一些解析变换魔术以便工作,而这在我的通用测试运行期间不存在。
任何建议,非常感谢!
解决了!这是由于我的Makefile(不是erlang.mk)中的错误。当我得到片刻时,我会添加一个答案。 – Stratus3D 2014-08-27 19:09:38