[Zope-Checkins] CVS: Zope/lib/python/Products/SiteErrorLog - SiteErrorLog.py:1.3

Shane Hathaway shane@cvs.zope.org
Thu, 4 Apr 2002 11:25:44 -0500


Update of /cvs-repository/Zope/lib/python/Products/SiteErrorLog
In directory cvs.zope.org:/tmp/cvs-serv20254

Modified Files:
	SiteErrorLog.py 
Log Message:
When displaying a traceback as text, show it alone with a text/plain content type.

=== Zope/lib/python/Products/SiteErrorLog/SiteErrorLog.py 1.2 => 1.3 ===
 from zLOG import LOG, ERROR
 
+# Permission names
 use_error_logging = 'Log Site Errors'
 log_to_event_log = 'Log to the Event Log'
 
@@ -204,6 +205,18 @@
                 return entry.copy()
         return None
 
+    security.declareProtected(use_error_logging, 'getLogEntryAsText')
+    def getLogEntryAsText(self, id, RESPONSE=None):
+        """Returns the specified log entry.
+
+        Makes a copy to prevent changes.  Returns None if not found.
+        """
+        entry = self.getLogEntryById(id)
+        if entry is None:
+            return 'Log entry not found or expired'
+        if RESPONSE is not None:
+            RESPONSE.setHeader('Content-Type', 'text/plain')
+        return entry['tb_text']
 
 
 Globals.InitializeClass(SiteErrorLog)