From: david-sarah 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/pf/content/cyclelanguage?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]