本文整理匯總了Python中logzero.logger.error方法的典型用法代碼示例。如果您正苦於以下問題:Python logger.error方法的具體用法?Python logger.error怎麽用?Python logger.error使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類logzero.logger
的用法示例。
在下文中一共展示了logger.error方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: validate
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def validate(ctx: click.Context, source: str,
no_verify_tls: bool = False) -> Experiment:
"""Validate the experiment at SOURCE."""
settings = load_settings(ctx.obj["settings_path"])
try:
experiment = load_experiment(
source, settings, verify_tls=not no_verify_tls)
except InvalidSource as x:
logger.error(str(x))
logger.debug(x)
ctx.exit(1)
try:
notify(settings, ValidateFlowEvent.ValidateStarted, experiment)
ensure_experiment_is_valid(experiment)
notify(settings, ValidateFlowEvent.ValidateCompleted, experiment)
logger.info("experiment syntax and semantic look valid")
except ChaosException as x:
notify(settings, ValidateFlowEvent.ValidateFailed, experiment, x)
logger.error(str(x))
logger.debug(x)
ctx.exit(1)
return experiment
示例2: wda_status
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def wda_status(self):
"""
Returns:
dict or None
"""
try:
request = httpclient.HTTPRequest(self.wda_device_url + "/status",
connect_timeout=3,
request_timeout=15)
client = httpclient.AsyncHTTPClient()
resp = await client.fetch(request)
info = json.loads(resp.body)
self.__wda_info = info
return info
except httpclient.HTTPError as e:
logger.debug("%s request wda/status error: %s", self, e)
return None
except (ConnectionResetError, ConnectionRefusedError):
logger.debug("%s waiting for wda", self)
return None
except Exception as e:
logger.warning("%s ping wda unknown error: %s %s", self, type(e),
e)
return None
示例3: wda_screenshot_ok
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def wda_screenshot_ok(self):
"""
Check if screenshot is working
Returns:
bool
"""
try:
request = httpclient.HTTPRequest(self.wda_device_url +
"/screenshot",
connect_timeout=3,
request_timeout=15)
client = httpclient.AsyncHTTPClient()
resp = await client.fetch(request)
data = json.loads(resp.body)
raw_png_data = base64.b64decode(data['value'])
png_header = b"\x89PNG\r\n\x1a\n"
if not raw_png_data.startswith(png_header):
return False
return True
except Exception as e:
logger.warning("%s wda screenshot error: %s", self, e)
return False
示例4: download_versions
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def download_versions(self, version=None):
rr = requests.get(self.RELEASES_URL)
soup = BeautifulSoup(rr.text, features='html.parser')
hrefs = soup.findAll('a')
hrefs = [x.attrs['href'] for x in hrefs]
hrefs = [x for x in hrefs if x.endswith('.gz')]
hrefs = [x for x in hrefs if 'latest' not in x]
# filter by specific version if requested
if version:
hrefs = [x for x in hrefs if version in x]
for href in hrefs:
dst = os.path.join(self.cachedir, 'tars', href)
src = os.path.join(self.RELEASES_URL, href)
if not os.path.exists(dst):
logger.debug('%s -> %s' % (dst,src))
res = curl('-o', dst, src)
if res.exit_code != 0:
logger.error('Failed to download %s to %s' % (src, dst))
logger.error(res.stdout)
logger.error(res.stderr)
sys.exit(1)
示例5: load_settings
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def load_settings(settings_path: str = CHAOSTOOLKIT_CONFIG_PATH) -> Settings:
"""
Load chaostoolkit settings as a mapping of key/values or return `None`
when the file could not be found.
"""
if not os.path.exists(settings_path):
logger.debug("The Chaos Toolkit settings file could not be found at "
"'{c}'.".format(c=settings_path))
return
with open(settings_path) as f:
try:
settings = yaml.safe_load(f.read())
loaded_settings.set(settings)
return settings
except yaml.YAMLError as ye:
logger.error("Failed parsing YAML settings: {}".format(str(ye)))
示例6: ReadByte
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def ReadByte(self, do_ord=True):
"""
Read a single byte.
Args:
do_ord (bool): (default True) convert the byte to an ordinal first.
Returns:
bytes: a single byte if successful. 0 (int) if an exception occurred.
"""
try:
if do_ord:
return ord(self.stream.read(1))
return self.stream.read(1)
except Exception as e:
logger.error("ord expected character but got none")
return 0
示例7: tearDownClass
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def tearDownClass(cls):
super(BoaFixtureTest, cls).tearDownClass()
try:
if os.path.exists(settings.debug_storage_leveldb_path):
shutil.rmtree(settings.debug_storage_leveldb_path)
else:
logger.error("debug storage path doesn't exist")
except Exception as e:
logger.error("couldn't remove debug storage %s " % e)
示例8: get_commands
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def get_commands():
commands = ""
try:
with open("files/commands.txt", "rb") as file:
for command in file.readlines():
commands += "/" + command.decode("utf-8")
return commands
except FileNotFoundError:
log.error("File could not be opened.")
示例9: schedule_conversation_deletion
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def schedule_conversation_deletion(self, peer, delay=5):
await asyncio.sleep(delay)
self.send(DeleteHistory(await self.resolve_peer(peer), max_id=999999999, just_clear=True))
log.debug("Deleted conversation with {}".format(peer))
# def delete_all_conversations(self):
# all_peers = [utils.resolve_id(x[0]) for x in self.session.entities.get_input_list()]
# for peer in all_peers:
# log.debug("Deleting conversation with {}...".format(peer))
# try:
# input_entity = self.client.session.entities.get_input_entity(peer[0])
# self.client(DeleteHistoryRequest(input_entity, max_id=9999999999999999))
# except:
# log.error("Couldn't find {}".format(peer[0]))
示例10: resolve_bot
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def resolve_bot(self, bot: BotModel):
if bot.chat_id:
try:
return self.resolve_peer(bot.chat_id)
except:
pass
try:
results = self.send(Search(bot.username, limit=3))
if results.users:
try:
return next(
s for s in results.users if s.username.lower() == bot.username[1:].lower())
except StopIteration:
pass
except QueryTooShort:
pass
if self.username_flood_until:
if self.username_flood_until < datetime.now():
self.username_flood_until = None
else:
try:
return self.resolve_peer(bot.username)
except FloodWait as e:
self.username_flood_until = datetime.now() + timedelta(
seconds=e.x)
log.warning("Flood wait for ResolveUsername: {}s (until {})".format(
e.x, self.username_flood_until))
except UsernameInvalid as e:
log.error(e) # TODO
return None
示例11: download_profile_photo
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def download_profile_photo(self, bot: BotModel, photo_path):
tmp_file = os.path.join(TMP_DIR, bot.username.replace('@', '') + '.jpg')
photos = self.get_user_profile_photos(bot.chat_id).photos
if photos:
photo_size_object = photos[0][-1]
await self.__photos_lock.acquire()
try:
try:
self.download_media(
photo_size_object,
file_name=tmp_file,
block=True
)
except FloodWait as e:
# TODO: as the error happens inside of the update worker, this won't work (yet)
# Leaving it in as the default behavior should be to raise the FloodWait
# when block=True
log.debug(f"FloodWait for downloading media ({e.x})")
if os.path.exists(tmp_file):
try:
similar = filecmp.cmp(tmp_file, photo_path, shallow=False)
except FileNotFoundError:
similar = False
if not similar:
shutil.copy(tmp_file, photo_path)
finally:
self.__photos_lock.release()
示例12: send_or_edit
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def send_or_edit(self, text, message_id, reply_markup=None):
sleep(3)
try:
if self.resend:
return util.send_md_message(self.bot, self.channel.chat_id, text, timeout=120,
disable_notification=True, reply_markup=reply_markup)
else:
if reply_markup:
return self.bot.formatter.send_or_edit(self.channel.chat_id, text,
to_edit=message_id,
timeout=120,
disable_web_page_preview=True,
disable_notification=True,
reply_markup=reply_markup)
else:
return self.bot.formatter.send_or_edit(self.channel.chat_id, text,
to_edit=message_id,
timeout=120,
disable_web_page_preview=True,
disable_notification=True)
except BadRequest as e:
if 'chat not found' in e.message.lower():
self.notify_admin_err(
"I can't reach BotList Bot with chat-id `{}` (CHAT NOT FOUND error). "
"There's probably something wrong with the database.".format(
self.channel.chat_id))
raise e
if 'message not modified' in e.message.lower():
return None
else:
log.error(e)
raise e
示例13: get_thermal_image_from_file
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def get_thermal_image_from_file(thermal_input, thermal_class=CFlir, colormap=None):
'''
Function to get the image associated with each RJPG file using the FLIR Thermal base class CFlir
Saves the thermal images in the same place as the original RJPG
'''
CThermal = thermal_class
inputpath = Path(thermal_input)
if Path.is_dir(inputpath):
rjpg_img_paths = list(Path(input_folder).glob('*R.JPG'))
fff_file_paths = list(Path(input_folder).glob('*.fff'))
if len(rjpg_img_paths)>0:
for rjpg_img in tqdm(rjpg_img_paths, total=len(rjpg_img_paths)):
thermal_obj = CThermal(rjpg_img, color_map=colormap)
path_wo_ext = str(rjpg_img).replace('_R'+rjpg_img.suffix,'')
thermal_obj.save_thermal_image(path_wo_ext+'.jpg')
elif len(fff_file_paths)>0:
for fff in tqdm(fff_file_paths, total=len(fff_file_paths)):
save_image_path = str(fff).replace('.fff','.jpg')
thermal_obj = CThermal(fff, color_map=colormap)
thermal_obj.save_thermal_image(save_image_path)
else:
logger.error('Input folder contains neither fff or RJPG files')
elif Path.is_file(inputpath):
thermal_obj = CThermal(thermal_input, color_map=colormap)
path_wo_ext = Path.as_posix(inputpath).replace(inputpath.suffix,'')
thermal_obj.save_thermal_image(path_wo_ext+'.jpg')
else:
logger.error('Path given is neither file nor folder. Please check')
示例14: post
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def post(self, udid=None):
udid = udid or self.get_argument('udid', None)
assert udid
d = idevices.get(udid)
try:
if not d:
raise Exception("Device not found")
d.restart_wda_proxy() # change wda public port
wda_url = "http://{}:{}".format(current_ip(), d.public_port)
await d.wda_healthcheck()
await hbc.device_update({
"udid": udid,
"colding": False,
"provider": {
"wdaUrl": wda_url,
}
})
self.write({
"success": True,
"description": "Device successfully colded"
})
except Exception as e:
logger.warning("colding procedure got error: %s", e)
self.set_status(400) # bad request
self.write({
"success": False,
"description": "udid: %s not found" % udid
})
示例15: runcommand
# 需要導入模塊: from logzero import logger [as 別名]
# 或者: from logzero.logger import error [as 別名]
def runcommand(*args) -> str:
try:
output = subprocess.check_output(args)
return output.strip().decode('utf-8')
except (subprocess.CalledProcessError, FileNotFoundError):
return ""
except Exception as e:
logger.warning("unknown error: %s", e)
return ""