From c6b414c815423a865421fc04ae8ae35e0d0986e5 Mon Sep 17 00:00:00 2001 From: david-sarah Date: Sun, 23 May 2010 15:15:35 -0700 Subject: [PATCH] SFTP: log tracebacks for RAISEd exceptions. --- src/allmydata/frontends/sftpd.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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] -- 2.45.2