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 # Override the logging level
# helperbotlog.setLevel(logging.INFO) # 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") xmppserverlog = logging.getLogger("xmppserver")
xmpp_rotate = RotatingFileHandler( xmpp_rotate = RotatingFileHandler(
"logs/xmppserver.log", maxBytes=5000000, backupCount=5 "logs/xmppserver.log", maxBytes=5000000, backupCount=5

View file

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

View file

@ -15,6 +15,7 @@ from datetime import datetime, timedelta
import bumper import bumper
helperbotlog = logging.getLogger("helperbot") helperbotlog = logging.getLogger("helperbot")
boterrorlog = logging.getLogger("boterror")
mqttserverlog = logging.getLogger("mqttserver") mqttserverlog = logging.getLogger("mqttserver")
logging.getLogger("transitions").setLevel(logging.CRITICAL + 1) # Ignore this logger logging.getLogger("transitions").setLevel(logging.CRITICAL + 1) # Ignore this logger
@ -107,6 +108,12 @@ class MQTTHelperBot:
message.topic, str(message.data.decode("utf-8")) 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: else:
helperbotlog.debug( helperbotlog.debug(
"Received Message - Topic: {} - Message: {}".format( "Received Message - Topic: {} - Message: {}".format(

View file

@ -10,6 +10,7 @@ import bumper
import asyncio import asyncio
xmppserverlog = logging.getLogger("xmppserver") xmppserverlog = logging.getLogger("xmppserver")
boterrorlog = logging.getLogger("boterror")
class XMPPServer: class XMPPServer:
@ -721,6 +722,15 @@ class XMPPAsyncClient:
).replace("ns0:", ""), ).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) self._handle_iq(item, newdata)
item.clear() item.clear()