droxit / roxcomposer

This is the droxit microservice framework repository.
GNU Lesser General Public License v3.0
5 stars 0 forks source link

server crash caused by logger when parsing message JSON #88

Closed droxit-becker closed 5 years ago

droxit-becker commented 5 years ago

"level": "INFO", "msg": "received message: {\"document\": \"JOTB is awesome!\",\"es_url\": \"http://localhost:9200/\",\"index\": \"jotb\"} ", "time": "2019-03-11T07:40:36+0000", "service": "elasticstore"} ^

SyntaxError: Unexpected token : in JSON at position 7 at JSON.parse () at line (/home/janabecker/Documents/Stuff/roxcomposer/build/roxcomposer-demo-0.4.0/api-server/plugins/roxcomposer_control.js:740:32) at Array.filter () at LogSession.receive_lines (/home/janabecker/Documents/Stuff/roxcomposer/build/roxcomposer-demo-0.4.0/api-server/plugins/log_session.js:44:11) at subscribers.forEach (/home/janabecker/Documents/Stuff/roxcomposer/build/roxcomposer-demo-0.4.0/api-server/plugins/log_observer.js:103:11) at Set.forEach () at fs.read (/home/janabecker/Documents/Stuff/roxcomposer/build/roxcomposer-demo-0.4.0/api-server/plugins/log_observer.js:102:25) at FSReqWrap.wrapper [as oncomplete] (fs.js:658:17)

droxit-becker commented 5 years ago

This is caused when trying to log something that is JSON formatted. e.g. log message is "received message: {}".format(msg) and msg is JSON formatted. The BaseService should handle this case so that the msg will not cause a crash.

droxit-becker commented 5 years ago

Server crash can also occur when starting a service and watching it:

undefined:1 FO", "msg": "started", "time": "2019-03-12T08:09:46+0000", "ip": "127.0.0.1", "port": 4008, "name": "elasticstore", "logging": {"logpath": "../logs/services/stemmer.log", "level": "INFO"}, "monitoring": {"filename": "../logs/trace.log", "monitor_class": "roxcomposer.monitor.basic_monitoring.BasicMonitoring"}, "service": "elasticstore"} ^

SyntaxError: Unexpected token F in JSON at position 0 at JSON.parse () at line (/home/janabecker/Documents/Stuff/roxcomposer/build/roxcomposer-demo-0.4.0/api-server/plugins/roxcomposer_control.js:740:32) at Array.filter () at LogSession.receive_lines (/home/janabecker/Documents/Stuff/roxcomposer/build/roxcomposer-demo-0.4.0/api-server/plugins/log_session.js:44:11) at subscribers.forEach (/home/janabecker/Documents/Stuff/roxcomposer/build/roxcomposer-demo-0.4.0/api-server/plugins/log_observer.js:103:11) at Set.forEach () at fs.read (/home/janabecker/Documents/Stuff/roxcomposer/build/roxcomposer-demo-0.4.0/api-server/plugins/log_observer.js:102:25) at FSReqWrap.wrapper [as oncomplete] (fs.js:658:17)

0xRand0m commented 5 years ago

Fixed with #100.