X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=activity%2F__init__.py;h=b7496724e752b7c07bfbdcf92ba8570bb8bade20;hb=454aec79b6fb6c59affdea254c929f333ceda7d8;hp=6157bae7c10456dd0f6a32f6c607d58578925671;hpb=25a564caae591fd408aa0c11470e99852306f20d;p=unfold.git diff --git a/activity/__init__.py b/activity/__init__.py index 6157bae7..b7496724 100644 --- a/activity/__init__.py +++ b/activity/__init__.py @@ -14,6 +14,8 @@ import base64 import time import datetime from myslice.configengine import ConfigEngine +from myslice.settings import logger + config = ConfigEngine() if config.activity and config.activity.apikey : @@ -37,10 +39,10 @@ else : def logWrite(request, action, message, objects = None): if not apikey : - print "===============>> activity: no apikey" + logger.info("===============>> activity: no apikey") return if not secret : - print "===============>> activity: no secret" + logger.info("===============>> activity: no secret") return timestamp = time.mktime(datetime.datetime.today().timetuple()) @@ -56,21 +58,24 @@ def logWrite(request, action, message, objects = None): "apikey" : apikey, "signature" : sign(secret, "%s%s%s%s" % (timestamp, ip, request.user, action)), "slice" : None, - "resource" : None + "resource" : None, + "resource_type" : None, + "facility" : None, + "testbed" : None, } - if objects and 'slice' in objects : - log['slice'] = objects['slice'] - - if objects and 'resource' in objects : - log['resource'] = objects['resource'] + if objects is not None: + for o in objects : + if (o in log) : + log[o] = objects[o] try : result = urllib2.urlopen(server, urllib.urlencode(log)) - print "===============>> activity: " + action + " <" + request.user + "> " + message + logger.info("===============>> activity: {} <{}> {}".format(action, request.user,message)) content = result.read() except urllib2.URLError as e: - print "===============>> activity: connection to " + server + " impossible, could not log action" + logger.error("===============>> activity: connection to {} impossible, could not log action".format(server)) + logger.error(e.strerror) def log(request, action, message, objects = None): # Create a new thread in Daemon mode to send the log entry @@ -79,14 +84,14 @@ def log(request, action, message, objects = None): t.start() def getClientIp(request): - x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') - if x_forwarded_for: + try : + x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') ip = x_forwarded_for.split(',')[0] - else: + except: ip = request.META.get('REMOTE_ADDR') return ip # # sign the request with the secret key def sign(secret, message): - return hmac.new(secret, msg=message, digestmod=hashlib.sha256).hexdigest() \ No newline at end of file + return hmac.new(secret, msg=message, digestmod=hashlib.sha256).hexdigest()