当erlang在分离模型中,哪里是错误日志?

时间:2015-03-11 04:19:46

标签: erlang

添加分离时,找不到错误信息,例如“无法设置长节点名称”

root@test:~# erl -name test
{error_logger,{{2015,3,11},{12,14,0}},"Can't set long node name!\nPlease check your configuration\n",[]}

...

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{k
root@test:~#
root@test:~#
root@test:~#
root@test:~#
root@test:~#
root@test:~#
root@test:~# erl -name test -detached
root@test:~#
root@test:~#
root@test:~# ag Please erl_crash.dump

2 个答案:

答案 0 :(得分:1)

startnig erl将所有日志发送到标准输出。只有在kernel应用程序出现后,您才可以使用error_logger重定向到文件或任何其他自定义日志处理程序。 甚至在内核应用程序启动之前发生的错误(例如在您的情况下)您无法通过任何选项将其记录到文件中。 为此,您可以使用run_erl(linux)或start_erl(windows)

run_erl [-daemon] pipe_dir/ log_dir "exec command [command_arguments]"

run_erl -daemon /tmp/ /home/abc "exec erl -name test"

您可以使用以下

附加到上面启动的erl
to_erl /tmp/

log_dir将包含日志run_erl.log和erlang.log.1。如果在erlang.log.N中未正确启动,您可以看到错误消息

有关详细信息,请查看以上链接。

答案 1 :(得分:0)

  

-detached
   启动与系统控制台分离的Erlang运行时系统。用于运行守护进程和后台进程。暗示   -noinput。