2016-08-01 1 views
0

J'essaie d'utiliser lager_syslog dans mon projet, mais il semble qu'il manque un pilote.échec de pilote erlang lager_syslog

Ceci est mon rebar.conf:

{deps, [ 
     ... 
     {lager_syslog, {git, "https://github.com/basho/lager_syslog.git", {branch, master}}} 
    ]}. 

Mon gestionnaire de test:

{lager_syslog_backend, ["test", local1, info]}, 

L'erreur:

19:29:09.981 [error] Lager failed to install handler {lager_syslog_backend,{"test",local1}} into lager_event, retrying later : {error, 
    {{shutdown, 
    {failed_to_start_child, 
     syslog, 
     "could not load driver syslog_drv: \"cannot open shared object file: No such file or directory\""}}, 
    {syslog_app, 
    start, 
    [normal, 
     []]}}} 

Toute suggestion?

Répondre

1

grâce à Kenneth Lakin qui ont répondu à ma question dans la liste de diffusion

IIRC, rebar3 déplacé le compilateur de port vers un plugin rebar3, plutôt que emballer avec le projet de base. D'après ce que j'ai pu voir, les projets rebar2 qui se sont appuyés dessus ne pourront pas charger leurs pilotes de port.

Ajouter

{overrides, 
    [{override, syslog, [ 
    {plugins, [pc]}, 
    {artifacts, ["priv/syslog_drv.so"]}, 
    {provider_hooks, [ 
     {post, 
     [ 
     {compile, {pc, compile}}, 
     {clean, {pc, clean}} 
     ] 
     }] 
    } 
    ]} 
]}. 

à un rebar.conf dans votre projet, propre, et la reconstruction. (Le projet syslog est l'endroit où la vie du pilote du port de lager_syslog.)

Voir aussi: https://github.com/blt/port_compiler#use-with-existing-dependency