Скрученный запуск / остановка заводских / протокольных менее шумных сообщений журнала - PullRequest
7 голосов
/ 22 февраля 2011

Есть ли способ указать twistd не регистрировать все заводские и протокольные запуск и остановка.Я использую много типов протоколов и выполняю много соединений ... и мой файл журнала сильно растет.Поэтому я ищу простой способ отключить эти сообщения.

С уважением

Ответы [ 3 ]

3 голосов
/ 22 февраля 2011

Вы можете установить атрибут noisy фабрики на False, чтобы он не регистрировал эти сообщения. См. Также http://twistedmatrix.com/trac/ticket/4021, который, вероятно, будет решен в следующей версии Twisted.

Например, вот программа с двумя клиентами, но только один из них будет регистрировать свои сообщения запуска / остановки:

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()

А на выходе:

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.
0 голосов
/ 09 сентября 2016

Другие ответы великолепны, но вы также можете сделать это только на уровне регистрации:

import logging
logging.getLogger('twisted').setLevel(logging.CRITICAL)
0 голосов
/ 05 июля 2016

В качестве более общесистемного решения вы можете попробовать следующее:

from twisted.internet.protocol import Factory

Factory.noisy = False
...