ioBroker / ioBroker.javascript

Script engine for JavaScript and Blockly
MIT License
320 stars 119 forks source link

onLog do not return id and onLogUnregister throws error #1617

Closed gromet closed 1 week ago

gromet commented 2 weeks ago

I'm sure that

Script type

JavaScript

The problem

onLog should return an id to unregister it (see javascript.md docs)

onLogUnregister always throws an error

Test-Script for reproduction:

let id = onLog('info', function(data){
    // do something
});

console.log(id);

onLogUnregister('info');

iobroker.current.log (in debug mode!)

javascript.0 | 2024-06-20 23:19:46.047 | error | at Script.runInContext (node:vm:133:12) javascript.0 | 2024-06-20 23:19:46.047 | error | at script.js.common.Entwicklung.Test:17:3 javascript.0 | 2024-06-20 23:19:46.046 | error | at script.js.common.Entwicklung.Test:12:1 javascript.0 | 2024-06-20 23:19:46.046 | error | at onLogUnregister (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1110:82) javascript.0 | 2024-06-20 23:19:46.046 | error | script.js.common.Entwicklung.Test: TypeError: Cannot read properties of undefined (reading 'length')

Version of nodejs

v18.19.1

Version of ioBroker js-controller

6.0.5

Version of adapter

v8.6.0