ejabberd - 从与`ejabberdctl debug`相同的上下文运行escript

时间:2013-06-03 18:26:43

标签: erlang ejabberd

设置我的ejabberd服务器的一部分包括运行ejabberdctl debug并输入一些命令。相反,我想要一个已执行的文件,但让它从ejabberdctl debug REPL的相同上下文运行。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用rpc:call命令。 Node值是您在调试提示“name @ host”中看到的。

另外,请确保escript设置适当的cookie值。

让我澄清一下,如果调试环境如下所示:

(ejabberd@host)1>

您可以创建一个类似于此的escript文件。这会更新日志级别:

#!/usr/bin/env escript

%%! -sname script1 -setcookie cookie -hidden
main([Level]) ->
   rpc:call('ejabberd@host', ejabberd_loglevel, set, [list_to_atom(Level)]).