catch bot errors in log

Close #10
- New boterror log
- Works for MQTT and XMPP
This commit is contained in:
Brian Martin 2019-06-19 07:29:12 -04:00
parent 4fe7f056f4
commit b48905b4e4
4 changed files with 27 additions and 1 deletions

View file

@ -100,6 +100,15 @@ helperbotlog.addHandler(helperbot_rotate)
# Override the logging level
# helperbotlog.setLevel(logging.INFO)
boterrorlog = logging.getLogger("boterror")
boterrorlog_rotate = RotatingFileHandler(
"logs/boterror.log", maxBytes=5000000, backupCount=5
)
boterrorlog_rotate.setFormatter(logformat)
boterrorlog.addHandler(boterrorlog_rotate)
# Override the logging level
# boterrorlog.setLevel(logging.INFO)
xmppserverlog = logging.getLogger("xmppserver")
xmpp_rotate = RotatingFileHandler(
"logs/xmppserver.log", maxBytes=5000000, backupCount=5

View file

@ -1093,7 +1093,7 @@ class ConfServer:
if did != "":
bot = bumper.bot_get(did)
if bot["company"] == "eco-ng" and bot["mqtt_connection"] == True:
if bot["company"] == "eco-ng":
body = ""
retcmd = await self.helperbot.send_command(json_body, randomid)
confserverlog.debug("Send Bot - {}".format(json_body))

View file

@ -15,6 +15,7 @@ from datetime import datetime, timedelta
import bumper
helperbotlog = logging.getLogger("helperbot")
boterrorlog = logging.getLogger("boterror")
mqttserverlog = logging.getLogger("mqttserver")
logging.getLogger("transitions").setLevel(logging.CRITICAL + 1) # Ignore this logger
@ -107,6 +108,12 @@ class MQTTHelperBot:
message.topic, str(message.data.decode("utf-8"))
)
)
if str(message.topic).split("/")[2] == "errors":
boterrorlog.error(
"Received Error - Topic: {} - Message: {}".format(
message.topic, str(message.data.decode("utf-8"))
)
)
else:
helperbotlog.debug(
"Received Message - Topic: {} - Message: {}".format(

View file

@ -10,6 +10,7 @@ import bumper
import asyncio
xmppserverlog = logging.getLogger("xmppserver")
boterrorlog = logging.getLogger("boterror")
class XMPPServer:
@ -721,6 +722,15 @@ class XMPPAsyncClient:
).replace("ns0:", ""),
)
)
if 'td="error"' in newdata or 'errs=' in newdata:
boterrorlog.error(
"Received Error from ({}:{} | {}) - {}".format(
self.address[0],
self.address[1],
self.bumper_jid,
newdata,
)
)
self._handle_iq(item, newdata)
item.clear()