3 Replies Latest reply on Dec 3, 2015 1:08 PM by jasong RSS
    omezger Explorer

    Better logging -> easier debugging

    Hi,

     

    I'm having the following error log:

     

    Error processing local event: Execution error in service script [VM-TR3 VMHumidityHigh.DataChange] : Wrapped java.lang.Exception: Unable To Convert From java.lang.String to NUMBER Cause: Unable To Convert From java.lang.String to NUMBER

     

    Sadly, it doesn't tell me about the line or variable that failed. Is there a way to enable a more explicit error log?

     

    thanks

      • Re: Better logging -> easier debugging
        aanjan Heavyweight Champ

        Olmo, you can increase the logging levels at Monitoring -> Application logs -> Settings tab. The default setting is WARN. Please do note that changing the logging levels will significantly fill up your hard drive space as more data gets logged. It is recommended to turn the log(s) back to WARN once you are done with debugging.

        • Re: Better logging -> easier debugging
          jasong Creator

          Another thing to do that is helpful, if you are writing your own services, is to wrap the entire service in a try catch, like this.

           

          try {

          //whatever

          catch (err) {

               logger.error(me.name + "MyServiceName() Fatal Error on line " + err.lineNumber + ": " + err);

          }

           

          This way you get your thing name that was executing, the service name that threw the error, and the line number where it happened. Note that it appears this number is always off by one. If it say line 12, it's probably line 13.