[CalendarServer-changes] [12654] CalendarServer/trunk/calendarserver/webadmin/logs.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:19:45 PDT 2014


Revision: 12654
          http://trac.calendarserver.org//changeset/12654
Author:   wsanchez at apple.com
Date:     2014-02-11 13:20:48 -0800 (Tue, 11 Feb 2014)
Log Message:
-----------
Server logs now stream properly

Modified Paths:
--------------
    CalendarServer/trunk/calendarserver/webadmin/logs.py

Modified: CalendarServer/trunk/calendarserver/webadmin/logs.py
===================================================================
--- CalendarServer/trunk/calendarserver/webadmin/logs.py	2014-02-11 20:16:08 UTC (rev 12653)
+++ CalendarServer/trunk/calendarserver/webadmin/logs.py	2014-02-11 21:20:48 UTC (rev 12654)
@@ -30,7 +30,7 @@
 
 from zope.interface import implementer
 
-from twisted.python.log import FileLogObserver
+from twisted.python.log import FileLogObserver, textFromEventDict
 from twisted.internet.defer import succeed
 
 from txweb2.stream import IByteStream, fallbackSplit
@@ -95,7 +95,7 @@
     @property
     def events(self):
         if not hasattr(self, "_buffer"):
-            buffer = deque(maxlen=100)
+            buffer = deque(maxlen=400)
 
             AccessLogObserver(buffer).start()
             BufferingLogObserver(buffer).start()
@@ -161,13 +161,15 @@
 
             self._start = messageID
 
-            if eventClass == "access":
+            if eventClass == u"access":
                 message = event["log-format"] % event
             else:
-                message = unicode(event)
+                message = textFromEventDict(event)
+                if message is None:
+                    continue
 
             eventText = textAsEvent(
-                message, eventID=messageID, eventClass=u"access"
+                message, eventID=messageID, eventClass=eventClass
             )
 
             return succeed(eventText)
@@ -200,19 +202,25 @@
     """
 
     def __init__(self, buffer):
-        class IO(object):
+        class DeadIO(object):
             @staticmethod
             def write(s):
-                buffer.append((u"server", s))
+                pass
 
             @staticmethod
             def flush():
                 pass
 
-        FileLogObserver.__init__(self, IO)
+        FileLogObserver.__init__(self, DeadIO)
 
+        self._buffer = buffer
 
 
+    def emit(self, event):
+        self._buffer.append((u"server", event))
+
+
+
 class AccessLogObserver(CommonAccessLoggingObserverExtensions):
     """
     Log observer that captures apache-style access log text entries in a
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/4218af72/attachment.html>


More information about the calendarserver-changes mailing list