Beispiel #1
0
	def subscribe(self,pattern):
		"""
		Subscribes a consumer client to channels matching the specified pattern.
		"""
		try:
			filter = ResourceNamePattern(pattern)
		except NamingException:
			return [ ]
		return [ channel for channel in sorted(self.channels) if filter.matches(channel) ]
Beispiel #2
0
	def __init__(self,sourceFilter='*',minLevel='WARNING'):
		self.last = 0
		try:
			self.sourcePattern = ResourceNamePattern(sourceFilter)
		except NamingException:
			# quietly accept everything if we are passed an invalid pattern
			self.sourcePattern = ResourceNamePattern()
		try:
			self.minLevel = logging.__dict__[minLevel]
		except KeyError:
			# quietly accept everything if we are passed an invalid level name
			self.minLevel = logging.NOTSET
Beispiel #3
0
class LogFilter(object):
	"""
	Filters a log record.
	"""
	def __init__(self,sourceFilter='*',minLevel='WARNING'):
		self.last = 0
		try:
			self.sourcePattern = ResourceNamePattern(sourceFilter)
		except NamingException:
			# quietly accept everything if we are passed an invalid pattern
			self.sourcePattern = ResourceNamePattern()
		try:
			self.minLevel = logging.__dict__[minLevel]
		except KeyError:
			# quietly accept everything if we are passed an invalid level name
			self.minLevel = logging.NOTSET

	def selects(self,record):
		selected = (
			(record.timestamp > self.last) and
			(record.msg.levelno >= self.minLevel) and
			(self.sourcePattern.matches(record.source))
		)
		if record.timestamp > self.last:
			self.last = record.timestamp
		return selected