Twisted starting/stopping factory/protocol less noisy log messages
Is there a way to tell to twistd to not log all factory and protocol start and stop. I use many type of protocols and performs a lot of connections ... and my log file grows a lot. So i'm looking for a simple way to disable those messages.
Regards
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.
作为更系统的解决方案,您可以尝试以下方法:
from twisted.internet.protocol import Factory
Factory.noisy = False
其他答案很好,但你也可以在日志记录级别执行此操作:
import logging
logging.getLogger('twisted').setLevel(logging.CRITICAL)
链接地址: http://www.djcxy.com/p/4974.html
上一篇: .NET将外部CSS转换为内联CSS