Pergunta

Quando eu chamar a função de conexão da classe SSHClient paramiko, ele gera alguns dados de registro sobre o estabelecimento da ligação, o que eu gostaria de suprimir.

Existe uma maneira de fazer isso através de si paramiko, ou Python em geral?

Foi útil?

Solução

paramiko não faz nada de saída por padrão. Você provavelmente tem uma chamada para o módulo de registro, estabelecendo um loglevel que herdou quando conjuntos paramiko-se que é o registo próprio.

Se você quiser entrar no logger paramiko para substituir as configurações:

logger = paramiko.util.logging.getLogger()

Há também uma função de conveniência para registrar tudo em um arquivo:

paramiko.util.log_to_file('filename.log')

Outras dicas

Eu não sei o que paramiko é, e deve haver uma definição do nível de log com certeza, mas se você está desesperado e procurando uma solução temporária e se o seu aplicativo é único segmento

import sys
dev_null = sys.stdout = sys.stderr = open('/dev/null', 'w')
try:
.
. connect()
.
finally:
  dev_null.close()

Você pode usar StringIO para saída também, se você estiver em um sistema operacional não tem uma '/ dev / null'

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top