UNPKG

node-red-contrib-grok

Version:
24 lines (21 loc) 761 B
var grok = require('node-grok').loadDefaultSync(); var dotprop = require("dot-prop") module.exports = function(RED) { //---------------------------------------------------------------------------------------------------- function GrokNode(config) { RED.nodes.createNode(this, config); var node = this; this.field = config.field || "payload"; this.regex = config.regex || ""; this.pattern = grok.createPattern(this.regex); // cleanup on close this.on('close',function() { }); this.on('input', function (message) { let f = dotprop.get(message, this.field) message.grok = this.pattern.parseSync(f); node.send(message); }); // END On Input }; //End of Node RED.nodes.registerType('grok', GrokNode); }