Ejabberd记录器错误

时间:2015-02-18 13:37:05

标签: logging ejabberd

我知道这个问题提出了几次,但我还没有找到解决方案。我不能使用记录器  已下载&使用https://github.com/processone/ejabberd.git中的代码编译eJabrred  我的代码:

-module(mod_hello).
-behavior(gen_mod).
-include("ejabberd.hrl").
-include("lager.hrl").
-include("jlib.hrl").
export([
    start/2,
    stop/1
]).

start(_Host, _Opt) ->
       ?DEBUG("Loaded mode_hello", []).        
stop(_Host) ->
        ok.

错误:

13:15:27.670 [critical] Problem starting the module mod_hello for host <<"localhost">> 
options: []
error: undef
[{p1_logger,info_msg,
            [mod_hello,16,"Loading module 'mod_hello' ",[]],
            []},
{gen_mod,start_module,3,[{file,"src/gen_mod.erl"},{line,82}]},
{lists,foreach,2,[{file,"lists.erl"},{line,1336}]},
{ejabberd_app,start,2,[{file,"src/ejabberd_app.erl"},{line,67}]},
{application_master,start_it_old,4,
                     [{file,"application_master.erl"},{line,272}]}]
13:15:27.671 [critical] ejabberd initialization was aborted because a     module start failed.

也试图反复:

./rebar get-deps 
./rebar compile
cp -R deps/* /lib/ejabberd/include/

但有相同的错误。

当我正在尝试编译&amp;运行mod_echo一切正常,但是当我用msg_info添加一个新行时,我得到了与我的mode_hello相同的错误。 任何想法

2 个答案:

答案 0 :(得分:1)

您不需要包含lager,但需要包含:logger.hrl。

答案 1 :(得分:1)

不确定您使用的是哪个版本的ejabberd以及如何构建它,但似乎您缺少p1_logger代码。 ejabberd安装程序包它以及从源代码构建时,代码会自动从该存储库中提取并构建:https://github.com/processone/p1_logger

您的安装似乎存在问题。