[CalendarServer-changes] [11234] CalendarServer/trunk/twext/python/log.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed May 22 15:17:38 PDT 2013
Revision: 11234
http://trac.calendarserver.org//changeset/11234
Author: wsanchez at apple.com
Date: 2013-05-22 15:17:38 -0700 (Wed, 22 May 2013)
Log Message:
-----------
Logger.msg() is now compatible with twisted's.
Modified Paths:
--------------
CalendarServer/trunk/twext/python/log.py
Modified: CalendarServer/trunk/twext/python/log.py
===================================================================
--- CalendarServer/trunk/twext/python/log.py 2013-05-21 21:26:16 UTC (rev 11233)
+++ CalendarServer/trunk/twext/python/log.py 2013-05-22 22:17:38 UTC (rev 11234)
@@ -63,6 +63,7 @@
import inspect
import logging
+from twisted.python.reflect import safe_str
from twisted.python.log import msg as twistedLogMessage
from twisted.python.log import addObserver, removeObserver
@@ -211,12 +212,16 @@
kwargs["logLevel"] = logLevel
kwargs["namespace"] = self.namespace
- twistedLogMessage(
- # FIXME: This formatting should be done by the log observer(s)
- "[%s#%s] %s" % (self.namespace, level, message),
- **kwargs
- )
+ if message:
+ kwargs["legacyMessage"] = message
+ kwargs["format"] = "%(legacyMessage)s"
+ if "format" in kwargs:
+ prefix = "[%(namespace)s#%(level)s] "
+ kwargs["format"] = "%s%s" % (prefix, kwargs["format"])
+
+ twistedLogMessage(**kwargs)
+
def level(self):
"""
@return: the logging level for this logger's namespace.
@@ -239,6 +244,15 @@
return cmpLogLevels(self.level(), level) <= 0
+ def msg(self, *message, **kw):
+ if message:
+ message = " ".join(map(safe_str, message))
+ else:
+ message = None
+ return self.emit("info", message, **kw)
+
+
+
class LoggingMixIn (object):
"""
Mix-in class for logging methods.
@@ -261,7 +275,8 @@
logger = property(_getLogger, _setLogger)
-for level in logLevels:
+
+def bindEmit(level):
doc = """
Emit a log message at log level C{%s}.
@param message: The message to emit.
@@ -270,32 +285,29 @@
#
# Attach methods to Logger
#
- def log_emit(self, message, __level__=level, raiseException=None, **kwargs):
- self.emit(__level__, message, **kwargs)
+ def log_emit(self, message, raiseException=None, **kwargs):
+ self.emit(level, message, **kwargs)
if raiseException:
raise raiseException(message)
- def will_emit(self, __level__=level):
- return self.willLogAtLevel(__level__)
+ def will_emit(self):
+ 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
#
- def log_emit(self, message, __level__=level, raiseException=None, **kwargs):
- self.logger.emit(__level__, message, **kwargs)
+ def log_emit(self, message, raiseException=None, **kwargs):
+ self.logger.emit(level, message, **kwargs)
if raiseException:
raise raiseException(message)
- def will_emit(self=log_emit, __level__=level):
- return self.logger.willLogAtLevel(__level__)
+ def will_emit(self=log_emit):
+ return self.logger.willLogAtLevel(level)
log_emit.__doc__ = doc
log_emit.enabled = will_emit
@@ -303,15 +315,16 @@
setattr(LoggingMixIn, "log_" + level, log_emit)
setattr(LoggingMixIn, "log_" + level + "_enabled", property(will_emit))
- del log_emit
- del will_emit
+for level in logLevels:
+ bindEmit(level)
del level
+
# Add some compatibility with twisted's log module
-Logger.msg = Logger.info
Logger.err = Logger.error
+
##
# Errors
##
@@ -321,6 +334,7 @@
super(InvalidLogLevelError, self).__init__(str(level))
self.level = level
+
##
# Observers
##
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130522/54d4d657/attachment.html>
More information about the calendarserver-changes
mailing list