本文整理汇总了Python中logging.exception方法的典型用法代码示例。如果您正苦于以下问题:Python logging.exception方法的具体用法?Python logging.exception怎么用?Python logging.exception使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类logging
的用法示例。
在下文中一共展示了logging.exception方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: handle_incoming
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def handle_incoming(modules, db, event):
"""Handle all incoming messages"""
logging.debug("Incoming message!")
message = utils.censor(event.message)
blacklist_chats = db.get(__name__, "blacklist_chats", [])
whitelist_chats = db.get(__name__, "whitelist_chats", [])
whitelist_modules = db.get(__name__, "whitelist_modules", [])
if utils.get_chat_id(message) in blacklist_chats or (whitelist_chats and utils.get_chat_id(message) not in
whitelist_chats) or message.from_id is None:
logging.debug("Message is blacklisted")
return
for func in modules.watchers:
if str(utils.get_chat_id(message)) + "." + func.__self__.__module__ in blacklist_chats:
logging.debug("Command is blacklisted in chat")
return
if whitelist_modules and not (str(utils.get_chat_id(message)) + "."
+ func.__self__.__module__ in whitelist_modules):
logging.debug("Command is not whitelisted in chat")
return
try:
await func(message)
except Exception:
logging.exception("Error running watcher")
示例2: send_msg
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def send_msg(self, rk, body, **kwargs):
if self.connection.is_open:
try:
logging.debug("Sending message to manager")
self.channel.basic_publish(exchange=utils.EXCHANGE, routing_key=rk, body=body, **kwargs)
return True
except Exception as e:
logging.exception("Error while sending data to queue:\n%s" % e)
return False
else:
logging.error("Can't send message to manager")
message = {"rk":rk, "body": body, "kwargs": kwargs, "json": False}
if message not in self.message_queue: # could happen if we have another disconnect when we try to clear the message queue
self.message_queue.append(message)
logging.info("Added message to message queue")
else:
logging.debug("Message already in queue")
return False
# sends a message to the manager
示例3: send_json_msg
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def send_json_msg(self, rk, body, **kwargs):
if self.connection.is_open:
try:
logging.debug("Sending message to manager")
properties = pika.BasicProperties(content_type='application/json')
self.channel.basic_publish(exchange=utils.EXCHANGE, routing_key=rk, body=json.dumps(body), properties=properties, **kwargs)
return True
except Exception as e:
logging.exception("Error while sending data to queue:\n%s" % e)
return False
else:
logging.error("Can't send message to manager")
message = {"rk":rk, "body": body, "kwargs": kwargs, "json": True}
if message not in self.message_queue: # could happen if we have another disconnect when we try to clear the message queue
self.message_queue.append(message)
logging.info("Added message to message queue")
else:
logging.debug("Message already in queue")
return False
# Try to resend the messages which couldn't be sent before
示例4: got_init_config
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def got_init_config(self, ch, method, properties, body):
logging.info("Received intitial config %r" % (body))
if self.corr_id == properties.correlation_id: #we got the right config
try: #TODO: add check if response is empty...
new_conf = json.loads(body)
new_conf["rabbitmq"] = config.get("rabbitmq")
except Exception as e:
logging.exception("Wasn't able to read JSON config from manager:\n%s" % e)
time.sleep(60) #sleep for X seconds and then ask again
self.fetch_init_config()
return
logging.info("Trying to apply config and reconnect")
self.apply_config(new_conf)
self.connection_cleanup()
self.connect() #hope this is the right spot
logging.info("Initial config activated")
self.start()
else:
logging.info("This config isn't meant for us")
# Create a zip of all the files which were collected while actions were executed
示例5: custom_exception_handler
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def custom_exception_handler(exc, context):
# give more context on the error since DRF masks it as Not Found
if isinstance(exc, Http404):
set_rollback()
return Response(str(exc), status=status.HTTP_404_NOT_FOUND)
# Call REST framework's default exception handler after specific 404 handling,
# to get the standard error response.
response = exception_handler(exc, context)
# No response means DRF couldn't handle it
# Output a generic 500 in a JSON format
if response is None:
logging.exception('Uncaught Exception', exc_info=exc)
set_rollback()
return Response({'detail': 'Server Error'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
# log a few different types of exception instead of using APIException
if isinstance(exc, (DeisException, ServiceUnavailable, HealthcheckException)):
logging.exception(exc.__cause__, exc_info=exc)
return response
示例6: do_execute
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def do_execute(self):
for step in self.steps:
try:
passed = step.do_execute()
if passed:
self.status = self.success_status
logging.debug('Verification step %s passed', self.__class__.__name__)
else:
self.status = StepStatus.failed
logging.error('Verification step %s failed!', self.__class__.__name__)
break
except Exception:
logging.exception('caught exception executing step %s', self.__class__.__name__)
self.status = StepStatus.failed
break
return self.status == StepStatus.done or self.status == StepStatus.passed
示例7: create_urls
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def create_urls(self):
try:
cursor = self.conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS urls (
id INTEGER PRIMARY KEY AUTOINCREMENT,
time varchar(255),
domain varchar(255) DEFAULT '',
title varchar(255) DEFAULT '',
url varchar(255) DEFAULT '',
contype varchar(255) DEFAULT '',
rsp_len varchar(255) DEFAULT '',
rsp_code varchar(255) DEFAULT '',
md5 varchar(40) UNIQUE
)
""")
except Exception as e:
logging.exception(e)
示例8: scan
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def scan(self, url):
url = verify(url)
try:
r = self.session.get(url,
timeout=self.timeout,
headers=self.headers,
verify=False,
stream=True,
allow_redirects=False)
return r
except (requests.exceptions.ConnectTimeout, requests.exceptions.ReadTimeout, requests.exceptions.Timeout,
requests.exceptions.SSLError, requests.exceptions.ConnectionError, ssl.SSLError, AttributeError,
ConnectionRefusedError, socket.timeout, urllib3.exceptions.ReadTimeoutError, OpenSSL.SSL.WantReadError,
urllib3.exceptions.DecodeError, requests.exceptions.ContentDecodingError):
pass
except Exception as e:
logging.exception(e)
示例9: request
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def request(self, url, method, data=None, headers=None):
url = verify(url)
try:
if method == 'get':
r = self.session.get(url, timeout=self.timeout, headers=headers, verify=False, allow_redirects=True)
return r
else:
r = self.session.post(url,
data=data,
timeout=self.timeout,
headers=headers,
verify=False,
allow_redirects=False)
return r
except (requests.exceptions.ConnectTimeout, requests.exceptions.ReadTimeout, requests.exceptions.Timeout,
requests.exceptions.SSLError, requests.exceptions.ConnectionError, ssl.SSLError, AttributeError,
ConnectionRefusedError, socket.timeout, urllib3.exceptions.ReadTimeoutError, OpenSSL.SSL.WantReadError,
urllib3.exceptions.DecodeError, requests.exceptions.ContentDecodingError):
pass
except Exception as e:
logging.exception(e)
示例10: run
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def run(self):
scripts = []
try:
for _ in glob.glob('script/*.py'):
script_name = os.path.basename(_).replace('.py', '')
vuln = importlib.import_module('script.%s' % script_name)
scripts.append(vuln)
# 随机打乱脚本加载顺序
random.shuffle(scripts)
with concurrent.futures.ThreadPoolExecutor(max_workers=20) as executor:
vulns = {executor.submit(self.vuln, script): script for script in scripts}
for future in concurrent.futures.as_completed(vulns, timeout=3):
future.result()
self.out = list(filter(None, self.out))
for i in self.out:
console('Vuln', self.ip, i + '\n')
Sqldb(self.dbname).get_vuln(self.ip, self.out)
except (EOFError, concurrent.futures._base.TimeoutError):
pass
except Exception as e:
logging.exception(e)
示例11: parse_ip
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def parse_ip(host):
host = parse_host(host)
# 根据domain得到ip 例如www.xxx.com 得到 x.x.x.x
try:
resolver = dns.resolver.Resolver()
resolver.nameservers = ['1.1.1.1', '8.8.8.8']
a = resolver.query(host, 'A')
for i in a.response.answer:
for j in i.items:
if hasattr(j, 'address'):
if not re.search(r'1\.1\.1\.1|8\.8\.8\.8|127\.0\.0\.1|114\.114\.114\.114|0\.0\.0\.0', j.address):
return j.address
except dns.resolver.NoAnswer:
pass
except Exception as e:
logging.exception(e)
return host
示例12: osdetect
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def osdetect(ip):
# sys.stdout.write(Bcolors.RED + "\nOS:\n" + Bcolors.ENDC)
nm = nmap.PortScanner()
try:
result = nm.scan(hosts=ip, arguments='-sS -O -vv -n -T4 -p 80,22,443')
for k, v in result.get('scan').items():
if v.get('osmatch'):
for i in v.get('osmatch'):
console('OSdetect', ip, i.get('name') + '\n')
return i.get('name')
else:
break
except (xml.etree.ElementTree.ParseError, nmap.nmap.PortScannerError):
pass
except Exception as e:
console('OSdetect', ip, 'None\n')
logging.exception(e)
示例13: checkwaf
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def checkwaf(url):
result = 'NoWAF'
host = parse_host(url)
if not iscdn(host):
return 'CDN IP'
try:
req = Requests()
r = req.get(url)
result = verify(r.headers, r.text)
if result == 'NoWAF':
for i in payload:
r = req.get(url + i)
result = verify(r.headers, r.text)
if result != 'NoWAF':
return result
else:
return result
except (UnboundLocalError, AttributeError):
pass
except Exception as e:
logging.exception(e)
示例14: jsparse
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def jsparse(self, r):
try:
html = etree.HTML(r.text)
result = html.xpath('//script/@src')
for i in result:
if not re.search(
r'jquery|bootstrap|adsbygoogle|angular|javascript|#|vue|react|51.la/=|map\.baidu\.com|canvas|cnzz\.com|slick\.js|autofill-event\.js|tld\.js|clipboard|Chart\.js',
i):
if '://' not in i:
i = re.sub(r'^/|^\.\./', '', i)
i = self.host + '/' + i
self.js.append(i)
except (AttributeError, AttributeError, ValueError):
pass
except Exception as e:
logging.exception(e)
示例15: pool
# 需要导入模块: import logging [as 别名]
# 或者: from logging import exception [as 别名]
def pool(self):
result = self.parse_html(self.host)
try:
with concurrent.futures.ThreadPoolExecutor(max_workers=30) as executor:
futures = [executor.submit(self.parse_html, i) for i in result]
for future in concurrent.futures.as_completed(futures, timeout=3):
future.result()
except (EOFError, concurrent.futures._base.TimeoutError):
pass
except Exception as e:
logging.exception(e)
jslink = JsLeaks().pool(self.js)
self.result.extend(jslink)
self.result = list(set(self.result))
for i in self.result:
console('Crawl', self.host, i + '\n')
Sqldb(self.dbname).get_crawl(self.domain, self.result)