UNPKG

logagent-input-filter-grok

Version:
30 lines (26 loc) 809 B
'use strict' var grok = require('node-grok') var patterns = grok.loadDefaultSync() module.exports = function (sourceName, config, data, callback) { try { var drop = false if(config.matchSource) { var pattern = patterns.createPattern(config.matchSource) drop = checkData(pattern,data) } else if(config.filePath && config.idpattern) { var coll = new grok.GrokCollection() coll.loadSync(config.filePath) var patternFile = coll.getPattern(config.idpattern) drop = checkData(patternFile,data) } return drop ? callback(null,null) : callback(null,data) }catch(err){ return callback(null, data) } function checkData(pattern,data){ var result = pattern.parseSync(data) return result === undefined || result === null } }