improve server-side logging of exceptions
[sfa.git] / sfa / plc / api.py
index 0ceed7c..79555c4 100644 (file)
@@ -10,6 +10,8 @@ import os
 import traceback
 import string
 import xmlrpclib
+
+import sfa.util.sfalogging
 import sfa.util.xmlrpcprotocol as xmlrpcprotocol
 from sfa.trust.auth import Auth
 from sfa.util.config import *
@@ -21,7 +23,6 @@ from sfa.trust.certificate import *
 from sfa.util.namespace import *
 from sfa.util.api import *
 from sfa.util.nodemanager import NodeManager
-from sfa.util.sfalogging import *
 try:
     from collections import defaultdict
 except:
@@ -106,7 +107,7 @@ class SfaAPI(BaseAPI):
 
         self.hrn = self.config.SFA_INTERFACE_HRN
         self.time_format = "%Y-%m-%d %H:%M:%S"
-        self.logger=get_sfa_logger()
+        self.logger=sfa.util.sfalogging.logger
 
     def getPLCShell(self):
         self.plauth = {'Username': self.config.SFA_PLC_USER,
@@ -636,13 +637,14 @@ class ComponentAPI(BaseAPI):
         """
         path = self.config.SFA_DATA_DIR
         config_dir = self.config.config_path
-        credfile = path + os.sep + 'node.cred'
+        cred_filename = path + os.sep + 'node.cred'
         try:
             credential = Credential(filename = cred_filename)
             return credential.save_to_string(save_parents=True)
         except IOError:
             node_pkey_file = config_dir + os.sep + "node.key"
             node_gid_file = config_dir + os.sep + "node.gid"
+            cert_filename = path + os.sep + 'server.cert'
             if not os.path.exists(node_pkey_file) or \
                not os.path.exists(node_gid_file):
                 self.get_node_key()
@@ -651,6 +653,7 @@ class ComponentAPI(BaseAPI):
             gid = GID(filename=node_gid_file)
             hrn = gid.get_hrn()
             # get credential from registry
+            cert_str = Certificate(filename=cert_filename).save_to_string(save_parents=True)
             registry = self.get_registry()
             cred = registry.get_self_credential(cert_str, 'node', hrn)
             Credential(string=cred).save_to_file(credfile, save_parents=True)