Twisted starting/stopping factory/protocol less noisy log messages

醉酒当歌 提交于 2019-11-29 10:32:11

You can set the noisy attribute of a factory to False to prevent it from logging these messages. See also http://twistedmatrix.com/trac/ticket/4021 which will probably be resolved by the next Twisted release.

For example, here's a program with two clients, but only one will log its start/stop messages:

import sys

from twisted.internet import reactor, protocol
from twisted.python import log

log.startLogging(sys.stdout)

f = protocol.ClientFactory()
f.protocol = protocol.Protocol
reactor.connectTCP('localhost', 22, f)

g = protocol.ClientFactory()
g.noisy = False
g.protocol = protocol.Protocol
reactor.connectTCP('localhost', 25, g)

reactor.run()

And the output:

2011-02-22 09:43:23-0500 [-] Log opened.
2011-02-22 09:43:23-0500 [-] Starting factory <twisted.internet.protocol.ClientFactory instance at 0x8f422cc>
^C
2011-02-22 09:43:26-0500 [-] Received SIGINT, shutting down.
2011-02-22 09:43:26-0500 [Protocol,client] Stopping factory <twisted.internet.protocol.ClientFactory instance at 0x8f422cc>
2011-02-22 09:43:26-0500 [-] Main loop terminated.

As a more system wide solution you can try the following:

from twisted.internet.protocol import Factory

Factory.noisy = False

The other answers are great, but you can also do this at the logging level only:

import logging
logging.getLogger('twisted').setLevel(logging.CRITICAL)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!