[CalendarServer-changes] [12641] CalendarServer/trunk/calendarserver/webadmin

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:16:52 PDT 2014


Revision: 12641
          http://trac.calendarserver.org//changeset/12641
Author:   wsanchez at apple.com
Date:     2014-02-10 18:53:31 -0800 (Mon, 10 Feb 2014)
Log Message:
-----------
Access log works.

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

Modified: CalendarServer/trunk/calendarserver/webadmin/logs.py
===================================================================
--- CalendarServer/trunk/calendarserver/webadmin/logs.py	2014-02-11 01:32:21 UTC (rev 12640)
+++ CalendarServer/trunk/calendarserver/webadmin/logs.py	2014-02-11 02:53:31 UTC (rev 12641)
@@ -90,14 +90,17 @@
     def __init__(self):
         Resource.__init__(self)
 
-        self._observer = AccessLoggingObserver()
+        logObserver = AccessLoggingObserver()
+        logObserver.start()
 
-        self._observer.logMessage(u"Hello")
-        self._observer.logMessage(u"Yo")
-        self._observer.logMessage(u"Bonjour")
-        self._observer.logMessage(u"Hola")
+        self._observer = logObserver
 
+        # self._observer.logMessage(u"Hello")
+        # self._observer.logMessage(u"Yo")
+        # self._observer.logMessage(u"Bonjour")
+        # self._observer.logMessage(u"Hola")
 
+
     def render(self, request):
         start = request.headers.getRawHeaders("last-event-id")
 
@@ -141,12 +144,14 @@
         start = self._start
         messageID = None
 
-        for message in self._observer.messages():
-            messageID = id(message)
+        for event in self._observer.events():
+            messageID = id(event)
 
             # If we have a start point, skip messages up to and including the
             # one at the start point.
             if start is not None:
+                print("*** Skipping event # {0}".format(messageID))
+
                 if messageID == start:
                     messageID = None
                     start = None
@@ -155,10 +160,15 @@
 
             self._start = messageID
 
+            message = event["log-format"] % event
+
             eventText = textAsEvent(
-                message, eventID=id(message), eventClass=u"access"
+                message, eventID=messageID, eventClass=u"access"
             )
 
+            print("--> Sending event # {0}".format(messageID))
+            print(eventText)
+
             return succeed(eventText)
 
         if messageID is not None:
@@ -179,10 +189,16 @@
 
 
 
+# Note: CommonAccessLoggingObserverExtensions is an old-style log observer, as
+# it inherits from BaseCommonAccessLoggingObserver in txweb2.
+
 class AccessLoggingObserver(CommonAccessLoggingObserverExtensions):
     """
     Log observer that captures apache-style access log text entries in a
     buffer.
+
+    @note: L{AccessLoggingObserver} is an old-style log observer, as it
+        ultimately inherits from L{txweb2.log.BaseCommonAccessLoggingObserver}.
     """
     def __init__(self):
         CommonAccessLoggingObserverExtensions.__init__(self)
@@ -190,13 +206,19 @@
         self._buffer = deque(maxlen=100)
 
 
-    def logMessage(self, message):
-        print("LOG: {0}".format(message))
+    def logStats(self, event):
+        # Only look at access log events
+        if event["type"] != "access-log":
+            return
 
-        self._buffer.append(message)
+        # # Omit events for the log event stream
+        # if event["uri"] == "/admin/logs/events":
+        #     return
 
+        self._buffer.append(event)
 
-    def messages(self):
+
+    def events(self):
         return iter(self._buffer)
 
 

Modified: CalendarServer/trunk/calendarserver/webadmin/logs.xhtml
===================================================================
--- CalendarServer/trunk/calendarserver/webadmin/logs.xhtml	2014-02-11 01:32:21 UTC (rev 12640)
+++ CalendarServer/trunk/calendarserver/webadmin/logs.xhtml	2014-02-11 02:53:31 UTC (rev 12641)
@@ -39,7 +39,11 @@
         eventSource.addEventListener(
           "access",
           function(e) {
+            // Append text
             accessLogElement.innerHTML += event.data + "<br />";
+
+            // Scroll to bottom
+            accessLogElement.scrollTop = accessLogElement.scrollHeight;
           },
           false
         );
@@ -51,8 +55,10 @@
       .log {
         width: 100%;
         height: 150pt;
-        overflow-y: scroll;
+        overflow: scroll;
         border: 1px solid;
+        font-family: monospace;
+        font-size: 0.75em;
       }
     </style>
   </head>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/9e3e08e0/attachment.html>


More information about the calendarserver-changes mailing list