[CalendarServer-changes] [4167] CalendarServer/trunk/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Mon May 4 17:18:27 PDT 2009
Revision: 4167
http://trac.macosforge.org/projects/calendarserver/changeset/4167
Author: wsanchez at apple.com
Date: 2009-05-04 17:18:27 -0700 (Mon, 04 May 2009)
Log Message:
-----------
Add _enabled properties on loggers
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/log.py
CalendarServer/trunk/twistedcaldav/test/test_log.py
Modified: CalendarServer/trunk/twistedcaldav/log.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/log.py 2009-05-04 22:21:50 UTC (rev 4166)
+++ CalendarServer/trunk/twistedcaldav/log.py 2009-05-05 00:18:27 UTC (rev 4167)
@@ -133,7 +133,7 @@
Clears all log levels to the default.
"""
logLevelsByNamespace.clear()
- logLevelsByNamespace[None] = "info"
+ logLevelsByNamespace[None] = "info" # Default log level
logLevelsByNamespace = {}
clearLogLevels()
@@ -317,11 +317,16 @@
def log_emit(self, message, level=level, **kwargs):
self.emit(level, message, **kwargs)
+ def will_emit(self, level=level):
+ return self.willLogAtLevel(level)
+
log_emit.__doc__ = doc
setattr(Logger, level, log_emit)
+ setattr(Logger, level + "_enabled", property(will_emit))
del log_emit
+ del will_emit
#
# Attach methods to LoggingMixIn
@@ -329,11 +334,17 @@
def log_emit(self, message, level=level, **kwargs):
self.logger.emit(level, message, **kwargs)
+ def will_emit(self=log_emit, level=level):
+ return self.logger.willLogAtLevel(level)
+
log_emit.__doc__ = doc
+ log_emit.enabled = will_emit
- setattr(LoggingMixIn, "log_%s" % (level,), log_emit)
+ setattr(LoggingMixIn, "log_" + level, log_emit)
+ setattr(LoggingMixIn, "log_" + level + "_enabled", property(will_emit))
del log_emit
+ del will_emit
del level
Modified: CalendarServer/trunk/twistedcaldav/test/test_log.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_log.py 2009-05-04 22:21:50 UTC (rev 4166)
+++ CalendarServer/trunk/twistedcaldav/test/test_log.py 2009-05-05 00:18:27 UTC (rev 4167)
@@ -65,27 +65,42 @@
object = LoggingEnabledObject()
self.assertEquals(object.logger.namespace, "twistedcaldav.test.test_log.LoggingEnabledObject")
- def test_basic(self):
+ def test_basic_Logger(self):
"""
- Test that log levels and messages are emitted correctly.
- Tests both Logger and LoggingMixIn.
+ Test that log levels and messages are emitted correctly for
+ Logger.
"""
- object = LoggingEnabledObject()
-
for level in logLevels:
message = "This is a %s message" % (level,)
log = TestLogger()
- object.logger = log
+ method = getattr(log, level)
+ method(message, junk=message)
- for method in (getattr(log, level), getattr(object, "log_" + level)):
- method(message, junk=message)
+ # Ensure that test_emit got called with expected arguments
+ self.assertEquals(log.emitted["level"], level)
+ self.assertEquals(log.emitted["message"], message)
+ self.assertEquals(log.emitted["kwargs"]["junk"], message)
- # Ensure that test_emit got called with expected arguments
- self.assertEquals(log.emitted["level"], level)
- self.assertEquals(log.emitted["message"], message)
- self.assertEquals(log.emitted["kwargs"]["junk"], message)
+ def test_basic_LoggingMixIn(self):
+ """
+ Test that log levels and messages are emitted correctly for
+ LoggingMixIn.
+ """
+ for level in logLevels:
+ message = "This is a %s message" % (level,)
+ object = LoggingEnabledObject()
+ object.logger = TestLogger()
+
+ method = getattr(object, "log_" + level)
+ method(message, junk=message)
+
+ # Ensure that test_emit got called with expected arguments
+ self.assertEquals(object.logger.emitted["level"], level)
+ self.assertEquals(object.logger.emitted["message"], message)
+ self.assertEquals(object.logger.emitted["kwargs"]["junk"], message)
+
def test_defaultLogLevel(self):
"""
Default log level is used.
@@ -122,3 +137,45 @@
self.assertEquals(logLevelForNamespace("twisted.web2.dav" ), defaultLogLevel)
self.assertEquals(logLevelForNamespace("twisted.web2.dav.test" ), defaultLogLevel)
self.assertEquals(logLevelForNamespace("twisted.web2.dav.test1.test2"), defaultLogLevel)
+
+ def test_willLogAtLevel(self):
+ """
+ willLogAtLevel()
+ """
+ clearLogLevels()
+
+ log = Logger()
+
+ for level in logLevels:
+ if cmpLogLevels(level, log.level()) < 0:
+ self.assertFalse(log.willLogAtLevel(level))
+ else:
+ self.assertTrue(log.willLogAtLevel(level))
+
+ def test_logMethodTruthiness_Logger(self):
+ """
+ Logger's log level functions/methods have true/false
+ value based on whether they will log.
+ """
+ log = Logger()
+
+ for level in logLevels:
+ enabled = getattr(log, level + "_enabled")
+ if enabled:
+ self.assertTrue(log.willLogAtLevel(level))
+ else:
+ self.assertFalse(log.willLogAtLevel(level))
+
+ def test_logMethodTruthiness_LoggingMixIn(self):
+ """
+ LoggingMixIn's log level functions/methods have true/false
+ value based on whether they will log.
+ """
+ object = LoggingEnabledObject()
+
+ for level in logLevels:
+ enabled = getattr(object, "log_" + level + "_enabled")
+ if enabled:
+ self.assertTrue(object.logger.willLogAtLevel(level))
+ else:
+ self.assertFalse(object.logger.willLogAtLevel(level))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090504/7244e4e1/attachment-0001.html>
More information about the calendarserver-changes
mailing list