erlang常见问题一二三

阅读更多

最近在从事erlang开发过程中遇到了几个问题,在这里一一记录一下。

 

 

1 以detached模式启动mochiweb之后怎么重新获得应用程序的控制权

 

 

        a: erl  -sname test@HOST -setcookie COOKIE %% sname用于局域网,如果是

            远程机器需要用name,其次,HOST同远被操控的机器的主机名,COOKIE同被操控的节点的COOKIE

b: Ctrl + G

c: r sns_dev@HOTS

        d: c

 

 

2  detached方式启动之后,用rb查看循环日志不能在屏幕上显示,去官网上查看了一下,有人说这是一个BUG,后面有人解决,但没有被官方认可,我最后的解决办法

 把日拷贝下来,然后再用rb命令看,OK问题解决(顺便把日志配制文件拷贝下来,启动的时候加上参数 -boot start_sasl -config elog)elog.conf为循环日志配制文件

 

 

3   昨天发现,gen_server 在hand_call中好像不能调用本身对外提供的接口,这是为什么呢?难道gen_server提供服务,是单进程的,也就是说如果一个服务没有完成,就不能对外提供下一个服务?奇了怪了。保留问题至此,再研究研究。

 

 

4  昨天在打印调式信息的时候io:format("~2222222222222222222 ~n"),为了美观,以2前面加了一个~,这下惨了,一直没有观注这个地方还会有问题,赌了我半天呀。~是erlang中的占位符的前缀,怎么可以乱用呢?真是不应该了。

 

5 erlang的循环日志比较高级,但有一点让人郁闷的是,他记录的是二进制要借助rb工具去查看,比较麻烦,怎么办?

 

start()->
	info("[init] log start ~n"),
	{Y,M,D} = date(),
	{H,Min,S} = time(),
	FileName = ?LogsLoaction++integer_to_list(Y)++integer_to_list(M)++integer_to_list(D)++integer_to_list(H)++integer_to_list(Min)++integer_to_list(S)++"\.txt",
	file:write_file(FileName, <<"start to record">>),
	error_logger:logfile({open,FileName}).
	


info(String)->
       error_logger:info_msg(String).


info(String,Value)->
	error_logger:info_msg(String,Value).

error(String)->
       error_logger:error_msg(String).


error(String,Value)->
	error_logger:error_msg(String,Value).
 

这样干,就可以将你想要输出的东西输出到txt文件中去了。哈哈。。

你可能感兴趣的:(Erlang,SNS,C,C++,C#)