From: david-sarah <david-sarah@jacaranda.org>
Date: Sun, 23 May 2010 22:15:35 +0000 (-0700)
Subject: SFTP: log tracebacks for RAISEd exceptions.
X-Git-Tag: trac-4400~9
X-Git-Url: https://git.rkrishnan.org/vdrive/%22file:/frontends/simplejson/module-simplejson.encoder.html?a=commitdiff_plain;h=c6b414c815423a865421fc04ae8ae35e0d0986e5;p=tahoe-lafs%2Ftahoe-lafs.git

SFTP: log tracebacks for RAISEd exceptions.
---

diff --git a/src/allmydata/frontends/sftpd.py b/src/allmydata/frontends/sftpd.py
index 4a738d4d..d1265de6 100644
--- a/src/allmydata/frontends/sftpd.py
+++ b/src/allmydata/frontends/sftpd.py
@@ -83,8 +83,11 @@ def _convert_error(res, request):
         return res
 
     err = res
-    logmsg("RAISE %r %r" % (request, err,), level=OPERATIONAL)
-    if noisy and not use_foolscap_logging: traceback.print_exc(err)
+    logmsg("RAISE %r %r" % (request, err.value), level=OPERATIONAL)
+    try:
+        if noisy: logmsg(traceback.format_exc(err.value), level=NOISY)
+    except:
+        pass
 
     # The message argument to SFTPError must not reveal information that
     # might compromise anonymity.
@@ -1319,7 +1322,7 @@ class SFTPUserHandler(ConchUser, PrefixingLogMixin):
                     if noisy: self.log("_nosuch(%r)" % (err,), level=NOISY)
                     err.trap(NoSuchChildError)
                     direntry = self._direntry_for(parent, childname)
-                    if noisy: self.log("checking open files:\nself._open_files = %r\nall_open_files = %r, direntry=%r" %
+                    if noisy: self.log("checking open files:\nself._open_files = %r\nall_open_files = %r\ndirentry=%r" %
                                        (self._open_files, all_open_files, direntry), level=NOISY)
                     if direntry in all_open_files:
                         (files, opentime) = all_open_files[direntry]