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

下一篇: 扭曲的启动/停止工厂/协议减少嘈杂的日志消息