2

I want to create a IXI module and there is something wrong " ERROR com.iota.iri.IXI - Script error".

How can I tell IRI to just log the exact error of my IXI script? I just want to know which line contains the error.

1

Unfortunately, there is no configuration parameter or runtime flag available to enable more explicit logging for IXI modules.

What you can do is modifying the code in IXI.java to have more details. Of course you need to recompile the IRI.

Here is an example of what you can do in IXI.java :

Replace those lines of code in IXI.java (line 256)

try {
   scriptEngine.eval(ixiModuleReader, bindings);
} catch (ScriptException e) {
   log.error("Script error");
}

by this code to get more details about script errors:

try {
    scriptEngine.eval(ixiModuleReader, bindings);
} catch (ScriptException e) {
    log.error("Script error. Root cause:"+(e.getCause()==null?"unknown":e.getCause())+"\n"+
              "Details: \n"+
                  "\tfile:"+e.getFileName()+"\n"+
                  "\tline:"+e.getLineNumber()+"\n"+
                  "\tcolumn:"+e.getColumnNumber()+"\n"+
                  "\tmessage:"+e.getMessage() +"\n"+
                  "\troot cause message:"+(e.getCause()==null?"unavailable":e.getCause().getMessage()),
              e);
}
  • Hey, thanks. I'll take later a look into it. I exposed the ZeroMQ messages for now. For my use-case way better. Maybe I need IXI for another part :) – Citrullin Mar 27 '18 at 5:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.