Skip to content

Commit

Permalink
fix regex
Browse files Browse the repository at this point in the history
  • Loading branch information
portertech committed Jul 30, 2011
1 parent 1e1388a commit 3031832
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 18 deletions.
2 changes: 1 addition & 1 deletion lib/public/scripts/websocket.js
Expand Up @@ -7,7 +7,7 @@ socket.on('connect', function() {
for (var s in streams) {
if (streams[s].Terms.length > 0) {
var message = data['message'];
var pattern = '';
var pattern = '^';
var highlight = [];
var negative = [];
for (var t in streams[s].Terms) {
Expand Down
36 changes: 19 additions & 17 deletions lib/syslog.js
@@ -1,4 +1,3 @@
// tails, because syslog rocks.
var dgram = require('dgram')
var http = require('http')
var io = require('socket.io')
Expand Down Expand Up @@ -69,23 +68,26 @@ process.nextTick(function setPatterns() {
var patterns = []
var streams = db.find('streamForwarding', true)
for (var s in streams) {
var pattern = '^'
var negative = []
for (var t in streams[s].streamTerms) {
var term = streams[s].streamTerms[t]
if (term.substr(0,1) == '!') {
negative.push(term.slice(1))
if (streams[s].streamTerms.length > 0) {
var pattern = '^'
var negative = []
for (var t in streams[s].streamTerms) {
var term = streams[s].streamTerms[t]
if (term.substr(0,1) == '!') {
negative.push(term.slice(1))
} else {
pattern += '(?=.*' + term + ')'
}
}
if (negative.length > 0) {
pattern += '((?!' + negative.join('|') + ').)*$'
} else {
pattern += '(?=.*' + term + ')'
pattern += '.*'
}
patterns.push({regex: new RegExp(pattern, 'i'), token: streams[s].streamLogglyToken})
}
if (negative.length > 0) {
pattern += '((?!' + negative.join('|') + ').)*$'
} else {
pattern += '.*'
}
patterns.push({regex: new RegExp(pattern, 'i'), token: streams[s].streamLogglyToken})
}
console.log(patterns)
logglyPatterns = patterns
setTimeout(setPatterns, 8000)
})
Expand All @@ -99,17 +101,17 @@ syslog.on('message', function(msg_orig, rinfo) {
var msg = (/<([^>]+)>([A-Z][a-z]+\s+\d+\s\d+:\d+:\d+) ([^\s]+) (.*)/).exec(msg_orig)
if (msg) {
var facility = Math.floor(msg[1] / 8)
var msg_info = {
var msg_json = {
date: msg[2],
host: msg[3],
severity: severityLookup[msg[1] - (facility * 8)],
facility: facilityLookup[facility],
message: msg[4]
}
websocket.sockets.volatile.emit('msg', msg_info)
websocket.sockets.volatile.emit('msg', msg_json)
for (var p in logglyPatterns) {
if (logglyPatterns[p].regex.test(msg[4])) {
queue.add(loggly(msg_info, logglyPatterns[p].token))
queue.add(loggly(msg_json, logglyPatterns[p].token))
break
}
}
Expand Down

0 comments on commit 3031832

Please sign in to comment.