调试信息和错误信息。

出自:http://blog.sina.com.cn/s/blog_96b8a1540101540i.html

之前一直傻傻的不懂得在erlang进程启动时加上-boot start_sasl,搞得很怕在supervisor启动子进程时出错,因为一旦出错就只能看到很简单的一行错误提示,完全看不到堆栈跟踪信息。但实际上只要在启动erlang时加上-boot start_sasl,就可以看到更多提示信息提示了。

项目中进程会输出一些文字信息来帮助调试程序,通常就是在需要的地方写上io:format,但是这些提示信息的输出在实际生产环境下是不需要的,而且也会带来对于的性能损耗。重构代码时我定义了一组宏来代替io:format输出文字信息,代码如下:

-ifdef(debug).-define(LOG(Msg,List), io:format(Msg,List)).-else.-define(LOG(Msg,List), ok).-endif.

这样只需在Emakefile里面添加或删除{d, debug},就可以编译出针对性不同的代码了。

原文地址:https://www.cnblogs.com/ribavnu/p/3784650.html