本文整理汇总了Python中twisted.logger.Logger.warn方法的典型用法代码示例。如果您正苦于以下问题:Python Logger.warn方法的具体用法?Python Logger.warn怎么用?Python Logger.warn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类twisted.logger.Logger
的用法示例。
在下文中一共展示了Logger.warn方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: IRCd
# 需要导入模块: from twisted.logger import Logger [as 别名]
# 或者: from twisted.logger.Logger import warn [as 别名]
class IRCd(Service):
def __init__(self, configFileName):
self.config = Config(self, configFileName)
self.boundPorts = {}
self.loadedModules = {}
self._loadedModuleData = {}
self._unloadingModules = {}
self.commonModules = set()
self.userCommands = {}
self.serverCommands = {}
self.channelModes = ({}, {}, {}, {})
self.channelStatuses = {}
self.channelStatusSymbols = {}
self.channelStatusOrder = []
self.channelModeTypes = {}
self.userModes = ({}, {}, {}, {})
self.userModeTypes = {}
self.actions = {}
self.storage = None
self.storageSyncer = None
self.dataCache = {}
self.functionCache = {}
self.serverID = None
self.name = None
self.isupport_tokens = {
"CASEMAPPING": "strict-rfc1459",
"CHANTYPES": "#",
}
self._uid = self._genUID()
self.users = {}
self.userNicks = CaseInsensitiveDictionary()
self.channels = CaseInsensitiveDictionary(WeakValueDictionary)
self.servers = {}
self.serverNames = CaseInsensitiveDictionary()
self.recentlyQuitUsers = {}
self.recentlyQuitServers = {}
self.recentlyDestroyedChannels = CaseInsensitiveDictionary()
self.pruneRecentlyQuit = None
self.pruneRecentChannels = None
self._logFilter = LogLevelFilterPredicate()
filterObserver = FilteringLogObserver(globalLogPublisher, (self._logFilter,))
self.log = Logger("txircd", observer=filterObserver)
self.startupTime = None
def startService(self):
self.log.info("Starting up...")
self.startupTime = now()
self.log.info("Loading configuration...")
self.config.reload()
self.name = self.config["server_name"]
self.serverID = self.config["server_id"]
self.log.info("Loading storage...")
self.storage = shelve.open(self.config["datastore_path"], writeback=True)
self.storageSyncer = LoopingCall(self.storage.sync)
self.storageSyncer.start(self.config.get("storage_sync_interval", 5), now=False)
self.log.info("Starting processes...")
self.pruneRecentlyQuit = LoopingCall(self.pruneQuit)
self.pruneRecentlyQuit.start(10, now=False)
self.pruneRecentChannels = LoopingCall(self.pruneChannels)
self.pruneRecentChannels.start(15, now=False)
self.log.info("Loading modules...")
self._loadModules()
self.log.info("Binding ports...")
self._bindPorts()
self.log.info("txircd started!")
try:
self._logFilter.setLogLevelForNamespace("txircd", LogLevel.levelWithName(self.config["log_level"]))
except (KeyError, InvalidLogLevelError):
self._logFilter.setLogLevelForNamespace("txircd", LogLevel.warn)
self.runActionStandard("startup")
def stopService(self):
stopDeferreds = []
self.log.info("Disconnecting servers...")
serverList = self.servers.values() # Take the list of server objects
self.servers = {} # And then destroy the server dict to inhibit server objects generating lots of noise
for server in serverList:
if server.nextClosest == self.serverID:
stopDeferreds.append(server.disconnectedDeferred)
allUsers = self.users.keys()
for user in allUsers:
if user[:3] == server.serverID:
del self.users[user]
server.transport.loseConnection()
self.log.info("Disconnecting users...")
userList = self.users.values() # Basically do the same thing I just did with the servers
self.users = {}
for user in userList:
if user.transport:
stopDeferreds.append(user.disconnectedDeferred)
user.transport.loseConnection()
self.log.info("Unloading modules...")
moduleList = self.loadedModules.keys()
for module in moduleList:
self._unloadModule(module, False) # Incomplete unload is done to save time and because side effects are destroyed anyway
#.........这里部分代码省略.........
示例2: Logger
# 需要导入模块: from twisted.logger import Logger [as 别名]
# 或者: from twisted.logger.Logger import warn [as 别名]
from twisted.logger import Logger
logger = Logger()
logger.warn("hendrix.resources is being deprecated. Please see hendrix.facilities.resources.")
from hendrix.facilities.resources import *
示例3: Controller
# 需要导入模块: from twisted.logger import Logger [as 别名]
# 或者: from twisted.logger.Logger import warn [as 别名]
#.........这里部分代码省略.........
def startService(self):
'''
'''
service.MultiService.startService(self)
if self.cloud:
self.connector.connect(self.factory)
self.log.debug('Cloud Service started')
if self.lan:
t = task.LoopingCall(self.search_devices)
t.start(15)
self.log.debug('SSDP Service started')
def resume(self):
self.app_paused = False
if not self.connected:
if self.cloud:
self.connector.connect(self.factory)
self.log.debug('Cloud Service started')
if self.lan:
t = task.LoopingCall(self.search_devices)
t.start(15)
self.log.debug('SSDP Service started')
def stopService(self):
self.log.debug('Stopping controller service...')
self.clean()
# d.addCallback(lambda ignored: service.MultiService.stopService(self))
service.MultiService.stopService(self)
# reactor.callLater(10, reactor.stop) # @UndefinedVariable
def cloud_disconnected(self, reason):
if not reason:
reason = 'Unknown'
self.log.warn('Cloud Server disconnected: %s' % reason)
self.connected = False
if not self.app_paused and self.fail_count < 10:
self.fail_count += 1
self.resume()
def cloud_failed(self, failure):
self.log.error('Cloud Login failed: %s' % str(failure))
# self.xmlstream.sendFooter()
def clean(self):
return reactor.callInThread( # @UndefinedVariable
threads.blockingCallFromThread, *(reactor, self.cleanfunc))
def cleanfunc(self):
def cleaned(res):
self.log.debug('cleaned')
if self.cloud:
self.xmlstream.sendFooter()
dl = []
if self.lan:
for name in self.subscriptions.keys():
dl.append(self.unsubscribe(name))
if self.cloud:
for name in self.subscriptions_cloud.keys():
dl.append(self.unsubscribe(name))
d = defer.DeferredList(dl)
d.addCallback(cleaned)
return d
def cloud_connected(self, xs):
示例4: BaseProtocol
# 需要导入模块: from twisted.logger import Logger [as 别名]
# 或者: from twisted.logger.Logger import warn [as 别名]
class BaseProtocol(serialBytesProtocol):
def __init__(self, shorthand=True, callback=None, escaped=False,
error_callback=None):
serialBytesProtocol.__init__(self)
if callback:
self.callbacks = [callback]
else:
self.callbacks = []
self.setRawMode()
self.shorthand = shorthand
self._escaped = escaped
self.log = Logger()
self.requests = {}
self.command_id = 0
self.buffer = None
# self.reading = False
def get_id(self):
try:
self.command_id += 1
return intToByte(self.command_id)
except ValueError:
self.command_id = 1
return intToByte(1)
def connect(self, f):
if f.callback:
self.callbacks.append(f.callback)
f.proto = self
def rawDataReceived(self, data):
for byte in data:
if self.buffer:
self.buffer.fill(byte)
if self.buffer.remaining_bytes() == 0:
try:
# Try to parse and return result
self.buffer.parse()
# Ignore empty frames
if len(self.buffer.data) == 0:
self.buffer = None
except ValueError:
# Bad frame, so restart
self.log.warn('Bad frame: %r'
% self.buffer.raw_data)
else:
self.read_frame(self.buffer.data)
self.buffer = None
# self.reading = False
else:
if byte == Frame.START_BYTE:
# self.reading == True
self.buffer = Frame(escaped=self._escaped)
def read_frame(self, frame):
"""
read_frame: binary data -> {'id':str,
'param':binary data,
...}
read_frame takes a data packet received from an XBee device
and converts it into a dictionary. This dictionary provides
names for each segment of binary data as specified in the
api_responses spec.
"""
# Fetch the first byte, identify the packet
# If the spec doesn't exist, raise exception
packet_id = frame[0:1]
try:
name = self.api_responses[packet_id]
except AttributeError:
raise NotImplementedError(
"API response specifications could not be found; " +
"use a derived class which defines 'api_responses'.")
except KeyError:
# Check to see if this ID can be found among transmittible packets
for cmd_name, cmd in list(self.api_frames.items()):
if cmd['id']['default'] == packet_id:
msg = "Incoming frame with id {packet_id} looks like a " +\
"command frame of type '{cmd_name}' (these should " +\
" not be received). Are you sure your devices " +\
"are in API mode?"
self.log.error(
msg, packet_id=bytes(frame), cmd_name=cmd_name)
return
self.log.error("Unrecognized response packet with id byte {f}",
f=frame[0])
return
# Current byte index in the data stream
packet = self.api_frames[name]
index = 0
callback = False
# Result info
info = {'id': name}
#.........这里部分代码省略.........