mirror of https://github.com/fail2ban/fail2ban
ENH: heavier debugging -- log split date/log line even for no match. Log matching regex upon match
parent
5bd186b854
commit
148cbd8d2a
|
@ -50,7 +50,8 @@ class Regex:
|
||||||
except sre_constants.error:
|
except sre_constants.error:
|
||||||
raise RegexException("Unable to compile regular expression '%s'" %
|
raise RegexException("Unable to compile regular expression '%s'" %
|
||||||
regex)
|
regex)
|
||||||
|
def __str__(self):
|
||||||
|
return "%s(%r)" % (self.__class__.__name__, self._regex)
|
||||||
##
|
##
|
||||||
# Gets the regular expression.
|
# Gets the regular expression.
|
||||||
#
|
#
|
||||||
|
|
|
@ -294,7 +294,7 @@ class Filter(JailThread):
|
||||||
l = line
|
l = line
|
||||||
l = l.rstrip('\r\n')
|
l = l.rstrip('\r\n')
|
||||||
|
|
||||||
logSys.log(5, "Working on line %r", l)
|
logSys.log(7, "Working on line %r", l)
|
||||||
timeMatch = self.dateDetector.matchTime(l)
|
timeMatch = self.dateDetector.matchTime(l)
|
||||||
if timeMatch:
|
if timeMatch:
|
||||||
# Lets split into time part and log part of the line
|
# Lets split into time part and log part of the line
|
||||||
|
@ -349,19 +349,20 @@ class Filter(JailThread):
|
||||||
# @return a dict with IP and timestamp.
|
# @return a dict with IP and timestamp.
|
||||||
|
|
||||||
def findFailure(self, timeLine, logLine, returnRawHost=False):
|
def findFailure(self, timeLine, logLine, returnRawHost=False):
|
||||||
|
logSys.log(5, "Date: %r, message: %r", timeLine, logLine)
|
||||||
failList = list()
|
failList = list()
|
||||||
# Checks if we must ignore this line.
|
# Checks if we must ignore this line.
|
||||||
if self.ignoreLine(logLine):
|
if self.ignoreLine(logLine):
|
||||||
# The ignoreregex matched. Return.
|
# The ignoreregex matched. Return.
|
||||||
|
logSys.log(7, "Matched ignoreregex and was ignored")
|
||||||
return failList
|
return failList
|
||||||
# Iterates over all the regular expressions.
|
# Iterates over all the regular expressions.
|
||||||
for failRegex in self.__failRegex:
|
for failRegex in self.__failRegex:
|
||||||
failRegex.search(logLine)
|
failRegex.search(logLine)
|
||||||
if failRegex.hasMatched():
|
if failRegex.hasMatched():
|
||||||
# The failregex matched.
|
# The failregex matched.
|
||||||
|
logSys.log(7, "Matched %s", failRegex)
|
||||||
date = self.dateDetector.getUnixTime(timeLine)
|
date = self.dateDetector.getUnixTime(timeLine)
|
||||||
logSys.log(7, "Date: %r, message: %r",
|
|
||||||
timeLine, logLine)
|
|
||||||
if date is None:
|
if date is None:
|
||||||
logSys.debug("Found a match for %r but no valid date/time "
|
logSys.debug("Found a match for %r but no valid date/time "
|
||||||
"found for %r. Please file a detailed issue on"
|
"found for %r. Please file a detailed issue on"
|
||||||
|
|
Loading…
Reference in New Issue