diff options
author | Robey Pointer <robey@lag.net> | 2008-03-22 19:36:16 -0700 |
---|---|---|
committer | Robey Pointer <robey@lag.net> | 2008-03-22 19:36:16 -0700 |
commit | 50d63690eecc21896c1b210f5e097f854ed4571d (patch) | |
tree | a66b46391a98ad3555b21a53f9ce96f38ee6f1e4 /paramiko/sftp_server.py | |
parent | 7854d600a74179d5f92a2f382f01da10da99d4d5 (diff) | |
download | paramiko-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.py | 8 |
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)) |