用于读取Erlang控制台或错误日志的工具

用于读取Erlang控制台或错误日志的工具,erlang,chicagoboss,Erlang,Chicagoboss,我是新来的二郎,芝加哥老板只用了几个星期就开始使用它们了,所以我一直在犯错误。这并没有让我太烦恼,因为这都是学习的一部分 但真正让我沮丧的是控制台和错误日志,我发现它们几乎不可能被读取,因为每一个内容都在一行中出现,我无法区分堆栈消息的一个级别和另一个级别。更令人恼火的是,字符串中有结构,但所有这些都被抹去了 不管怎样,是否可以以更容易理解的形式查看这些日志,比如php如何将错误打印到网页上,或者数组的print_r函数,可能在Chicago boss中有所体现 示例: 2014-07-22 1

我是新来的二郎,芝加哥老板只用了几个星期就开始使用它们了,所以我一直在犯错误。这并没有让我太烦恼,因为这都是学习的一部分

但真正让我沮丧的是控制台和错误日志,我发现它们几乎不可能被读取,因为每一个内容都在一行中出现,我无法区分堆栈消息的一个级别和另一个级别。更令人恼火的是,字符串中有结构,但所有这些都被抹去了

不管怎样,是否可以以更容易理解的形式查看这些日志,比如php如何将错误打印到网页上,或者数组的print_r函数,可能在Chicago boss中有所体现

示例:

2014-07-22 16:30:54.285[错误]@boss\u web\u控制器:调用控制器操作:366控制器错误未定义
[{simple_bridge_request_wrapper,post_param,
[{simple_bridge_request_wrapper,mochiweb_request_bridge,
{mochicow_请求,#端口,'POST',“/greeting/list”,
“HTTP/1.1”,
{9,
{“主机”,
{“主机”,“jason virtualbox:8001”},
{“接受”,
{“接受”,
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8“},
无
{“接受语言”,
{“接受语言”,“en-US,en;q=0.5”},
{“接受编码”,
{“接受编码”,“gzip,deflate”},
零,零},
{“连接”,
{“连接”,“保持活动”},
无
{“内容类型”,
{“内容类型”,“应用程序/x-www-form-urlencoded”},
{“内容长度”,“内容长度”,“44”},无,无},
无}}}}},
{“用户代理”,
{“用户代理”,
“Mozilla/5.0(X11;Ubuntu;Linux x86_64;rv:30.0)Gecko/20100101 Firefox/30.0”,
{“referer”,
{“referer”,“http://**:8001/greeting/hello”},
零,零},
无}}}},
},
false、[]、[]、无}],
[]},
{鸽子队队长,名单,3,
[{文件,
“/home/jason/dige/src/controller/dige\u greeting\u controller.erl”},
{line,34}]},
{boss\u web\u controller,调用\u controller\u action,3,
[{file,“src/boss/boss_web_controller.erl”},{line,363}]},
{boss_web_控制器,应用_操作,4,
[{file,“src/boss/boss\u web\u controller.erl”},{line,355}]},
{boss\u web\u controller,执行\u action\u inner,9,
[{file,“src/boss/boss\u web\u controller.erl”},{line,334}]},
{boss\u web\u controller\u handle\u request,process\u dynamic\u request,4,
[{file,“src/boss/boss\u web\u controller\u handle\u request.erl”},{line,242}]},
{boss_web_controller_handle_request,process_request,4,
[{file,“src/boss/boss\u web\u controller\u handle\u request.erl”},{line,228}]},
{boss\u web\u controller\u handle\u request,set\u timer,7,
[{file,“src/boss/boss\u web\u controller\u handle\u request.erl”},{line,148}]

任何帮助都是适当的

如果他们能很好地打印错误消息,那就好了,但是你可以自己做,麻烦一点。消息的内容是一个erlang术语,在本例中是一个列表。只需将erlang术语复制并经过shell,添加一个句点,使其成为法律声明:

> [{simple_bridge_request_wrapper,post_param,[{simple_bridge_request_wrapper,mochiweb_request_bridge,{mochicow_request,#Port<0.41310>,'POST',"/greeting/list",'HTTP/1.1',{9,{"host",{"host","jason-virtualbox:8001"},{"accept",{"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8"},nil,{"accept-language",{"accept-language","en-US,en;q=0.5"},{"accept-encoding",{"accept-encoding","gzip, deflate"},nil,nil},{"connection",{"connection","keep-alive"},nil,{"content-type",{"content-type","application/x-www-form-urlencoded"},{"content-length",{"content-length","44"},nil,nil},nil}}}},{"user-agent",{"user-agent","Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0"},{"referer",{"referer","http://****:8001/greeting/hello"},nil,nil},nil}}},<<"SheetName=%7BBook1.2%7D%2C%7B0-Sheet1.csv%7D">>},false,[],[],none}],[]},{pigeon_greeting_controller,list,3,[{file,"/home/jason/pigeon/src/controller/pigeon_greeting_controller.erl"},{line,34}]},{boss_web_controller,call_controller_action,3,[{file,"src/boss/boss_web_controller.erl"},{line,363}]},{boss_web_controller,apply_action,4,[{file,"src/boss/boss_web_controller.erl"},{line,355}]},{boss_web_controller,execute_action_inner,9,[{file,"src/boss/boss_web_controller.erl"},{line,334}]},{boss_web_controller_handle_request,process_dynamic_request,4,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,242}]},{boss_web_controller_handle_request,process_request,4,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,228}]},{boss_web_controller_handle_request,set_timer,7,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,148}]}].
哦,显然在erlang中没有端口的文字表示,所以他们打印了一个端口的简要描述:
#port
。在erlang中,您可以用单引号将非法字符包装起来,我认为这样可以创建一个atom,这是一个合法的术语,因此shell将允许它:
“#Port”
。那么:

> [{simple_bridge_request_wrapper,post_param,[{simple_bridge_request_wrapper,mochiweb_request_bridge,{mochicow_request,'#Port<0.41310>','POST',"/greeting/list",'HTTP/1.1',{9,{"host",{"host","jason-virtualbox:8001"},{"accept",{"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8"},nil,{"accept-language",{"accept-language","en-US,en;q=0.5"},{"accept-encoding",{"accept-encoding","gzip, deflate"},nil,nil},{"connection",{"connection","keep-alive"},nil,{"content-type",{"content-type","application/x-www-form-urlencoded"},{"content-length",{"content-length","44"},nil,nil},nil}}}},{"user-agent",{"user-agent","Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0"},{"referer",{"referer","http://****:8001/greeting/hello"},nil,nil},nil}}},<<"SheetName=%7BBook1.2%7D%2C%7B0-Sheet1.csv%7D">>},false,[],[],none}],[]},{pigeon_greeting_controller,list,3,[{file,"/home/jason/pigeon/src/controller/pigeon_greeting_controller.erl"},{line,34}]},{boss_web_controller,call_controller_action,3,[{file,"src/boss/boss_web_controller.erl"},{line,363}]},{boss_web_controller,apply_action,4,[{file,"src/boss/boss_web_controller.erl"},{line,355}]},{boss_web_controller,execute_action_inner,9,[{file,"src/boss/boss_web_controller.erl"},{line,334}]},{boss_web_controller_handle_request,process_dynamic_request,4,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,242}]},{boss_web_controller_handle_request,process_request,4,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,228}]},{boss_web_controller_handle_request,set_timer,7,[{file,"src/boss/boss_web_controller_handle_request.erl"},{line,148}]}].
[{simple_-bridge_-request_-wrapper,post_-param,[{simple_-bridge_-request_-wrapper,mochiweb_-bridge,{mochicow_-request,{Port','post',“/greeting/list”,'HTTP/1.1',{9,{“host”,{“host”,“jason virtualbox:8001”},{“accept”,{“accept”,“accept”,“text/html,application/xhtml,application/xml,application/xhtml,application/xml;q=0.9,//q=0.8”,“en-US,en;q=0.5”},{“接受编码”,“接受编码”,“gzip,deflate”},nil,nil},{“连接”,“保持活动”},nil,{“内容类型”,“应用程序/x-www-form-urlencoded”},{“内容长度”,“44”},nil,nil},nil},{“用户代理”,“用户代理”,“Mozilla/5.0(X11;Ubuntu;Linux:30.x80)Gecko/20100101 Firefox/30.0“},{“referer”,“referer”,“http://**:8001/greeting/hello“},nil,nil},nil},},false,[],[],[],none},]},{鸽子问候语控制器,列表,3,[{文件,/home/jason/鸽子/src/controller/鸽子问候语控制器.erl},{line,34},},{boss\erlu webcontroller,call controller\u动作,3,{boss,webcontroller,},{boos,},webcontroller,{]},{boss\u web\u controller,apply\u action,4,[{file,“src/boss/boss\u web\u controller.erl”},{line,355}},{boss\u web\u controller,execute\u action\u internal,9,[{file,“src/boss/boss/boss\u web\u controller.erl”},{line,334},{boss\u web\u controller\u处理请求,处理动态请求,4,{file,“src/boss/boss/boss\u web\u web\u.erlu controller”},{line,},{boss\u web\u controller\u handle\u request,process\u request,4,[{file,“src/boss/boss\u web\u controller\u handle\u request.erl},{line,228}},{boss\u web\u controller\u handle\u request,set\u timer,7,[{file,“src/boss/boss\u web\u controller\u handle\u request.erl},{line,148}]。
…并点击返回:

* 1: syntax error before: '\\'
[{simple_bridge_request_wrapper,post_param,
     [{simple_bridge_request_wrapper,mochiweb_request_bridge,
          {mochicow_request,'#Port<0.41310>','POST',"/greeting/list",
              'HTTP/1.1',
              {9,
               {"host",
                {"host","jason-virtualbox:8001"},
                {"accept",
                 {"accept",
                  "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8"},
                 nil,
                 {"accept-language",
                  {"accept-language","en-US,en;q=0.5"},
                  {"accept-encoding",{[...],...},nil,...},
                  {"connection",{...},...}}},
                {"user-agent",
                 {"user-agent",
                  "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0"},
                 {"referer",
                  {"referer","http://****:8001/greeting/hello"},
                  nil,nil},
                 nil}}},
              <<"SheetName=%7BBook1.2%7D%2C%7B0-Sheet1.csv%7D">>},
          false,[],[],none}],
     []},
 {pigeon_greeting_controller,list,3,
     [{file,
          "/home/jason/pigeon/src/controller/pigeon_greeting_controller.erl"},
      {line,34}]},
 {boss_web_controller,call_controller_action,3,
     [{file,"src/boss/boss_web_controller.erl"},{line,363}]},
 {boss_web_controller,apply_action,4,
     [{file,"src/boss/boss_web_controller.erl"},{line,355}]},
 {boss_web_controller,execute_action_inner,9,
     [{file,"src/boss/boss_web_controller.erl"},{line,334}]},
 {boss_web_controller_handle_request,process_dynamic_request,
     4,
     [{file,"src/boss/boss_web_controller_handle_request.erl"},
      {line,242}]},
 {boss_web_controller_handle_request,process_request,4,
     [{file,"src/boss/boss_web_controller_handle_request.erl"},
      {line,228}]},
 {boss_web_controller_handle_request,set_timer,7,
     [{file,"src/boss/boss_web_controller_handle_request.erl"},
      {line,148}]}]
[{simple\u bridge\u request\u wrapper,post\u param,
[{simple_bridge_request_wrapper,mochiweb_request_bridge,
{mochicow_请求、#端口、'POST'、“/greeting/list”,
“HTTP/1.1”,
{9,
{“主机”,
{“主机”,“jason virtualbox:8001”},
{“接受”,
{“接受”,
text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8“},
无
{“接受语言”,
{“接受语言”,“en-US,en;q=0.5”},
{“接受-e”
[{simple_bridge_request_wrapper,post_param,
     [{simple_bridge_request_wrapper,mochiweb_request_bridge,
          {mochicow_request,'#Port<0.41310>','POST',"/greeting/list",
              'HTTP/1.1',
              {9,
               {"host",
                {"host","jason-virtualbox:8001"},
                {"accept",
                 {"accept",
                  "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8"},
                 nil,
                 {"accept-language",
                  {"accept-language","en-US,en;q=0.5"},
                  {"accept-encoding",{[...],...},nil,...},
                  {"connection",{...},...}}},
                {"user-agent",
                 {"user-agent",
                  "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0"},
                 {"referer",
                  {"referer","http://****:8001/greeting/hello"},
                  nil,nil},
                 nil}}},
              <<"SheetName=%7BBook1.2%7D%2C%7B0-Sheet1.csv%7D">>},
          false,[],[],none}],
     []},
 {pigeon_greeting_controller,list,3,
     [{file,
          "/home/jason/pigeon/src/controller/pigeon_greeting_controller.erl"},
      {line,34}]},
 {boss_web_controller,call_controller_action,3,
     [{file,"src/boss/boss_web_controller.erl"},{line,363}]},
 {boss_web_controller,apply_action,4,
     [{file,"src/boss/boss_web_controller.erl"},{line,355}]},
 {boss_web_controller,execute_action_inner,9,
     [{file,"src/boss/boss_web_controller.erl"},{line,334}]},
 {boss_web_controller_handle_request,process_dynamic_request,
     4,
     [{file,"src/boss/boss_web_controller_handle_request.erl"},
      {line,242}]},
 {boss_web_controller_handle_request,process_request,4,
     [{file,"src/boss/boss_web_controller_handle_request.erl"},
      {line,228}]},
 {boss_web_controller_handle_request,set_timer,7,
     [{file,"src/boss/boss_web_controller_handle_request.erl"},
      {line,148}]}]