summaryrefslogtreecommitdiff
path: root/paramiko/sftp_server.py
diff options
context:
space:
mode:
authorRobey Pointer <robey@lag.net>2008-03-22 19:36:16 -0700
committerRobey Pointer <robey@lag.net>2008-03-22 19:36:16 -0700
commit50d63690eecc21896c1b210f5e097f854ed4571d (patch)
treea66b46391a98ad3555b21a53f9ce96f38ee6f1e4 /paramiko/sftp_server.py
parent7854d600a74179d5f92a2f382f01da10da99d4d5 (diff)
downloadparamiko-50d63690eecc21896c1b210f5e097f854ed4571d.tar.gz
[project @ robey@lag.net-20080323023616-fpo17kr0qxxbgthv]
bug 200416: don't create a new logger for every channel and every sftp client or server. it causes python to leak lots of useless logger objects, because they never go away. instead, log the channel # in the message, and use only a couple of standard log nodes.
Diffstat (limited to 'paramiko/sftp_server.py')
-rw-r--r--paramiko/sftp_server.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/paramiko/sftp_server.py b/paramiko/sftp_server.py
index 0e7473e0..df7df624 100644
--- a/paramiko/sftp_server.py
+++ b/paramiko/sftp_server.py
@@ -66,15 +66,17 @@ class SFTPServer (BaseSFTP, SubsystemHandler):
BaseSFTP.__init__(self)
SubsystemHandler.__init__(self, channel, name, server)
transport = channel.get_transport()
- self.logger = util.get_logger(transport.get_log_channel() + '.' +
- channel.get_name() + '.sftp')
+ self.logger = util.get_logger(transport.get_log_channel() + '.sftp')
self.ultra_debug = transport.get_hexdump()
self.next_handle = 1
# map of handle-string to SFTPHandle for files & folders:
self.file_table = { }
self.folder_table = { }
self.server = sftp_si(server, *largs, **kwargs)
-
+
+ def _log(self, level, msg):
+ super(SFTPServer, self)._log(level, "[chan " + self.sock.get_name() + "] " + msg)
+
def start_subsystem(self, name, transport, channel):
self.sock = channel
self._log(DEBUG, 'Started sftp server on channel %s' % repr(channel))