+
+#
+# sending the logs cached in sqlite database
+
+def logCheck():
+ """Checking local database for logs adn sending it to monitoring server"""
+ dbfile = ''.join([os.path.dirname(os.path.abspath(__file__)), "/errors.db"])
+ conn = None
+
+ #trying to connect local db adn pull unsent logs
+ try:
+ conn = lite.connect(dbfile)
+ cur = conn.cursor()
+ cur.execute("SELECT rowid, log from logs")
+ notsent = cur.fetchall()
+ for row in notsent:
+ #trying to send unsent data from sqlite db
+ try :
+ urllib2.urlopen(config.activity.server, urllib.urlencode(json.loads(row[1])))
+ #delete those who were sent
+ cur.execute("""DELETE FROM logs where rowid = %s""" % row[0] )
+ conn.commit()
+ except urllib2.URLError as e:
+ # this is just to inform that DB is not working properly
+ logger.error('[activity] Error while sending stats')
+ logger.error(e.strerror)
+
+ except lite.Error, e:
+ #this need to be updated to store information via syslog
+ logger.error('[activity] Error while pulling from local sqlite3 db: %s' % str(e.args))
+ logger.error(e.strerror)
+ if conn:
+ conn.close()
+
+ return