avoid as much as possible accessing logger through class instances, whenever that...
[sfa.git] / sfa / server / sfa-start.py
index bcd00cd..5b386c0 100755 (executable)
@@ -33,17 +33,20 @@ import traceback
 import sys
 from optparse import OptionParser
 
-from sfa.util.sfalogging import logger
+from sfa.util.sfalogging import init_logger, logger
 from sfa.util.xrn import get_authority, hrn_to_urn
 from sfa.util.config import Config
+
 from sfa.trust.gid import GID
 from sfa.trust.trustedroots import TrustedRoots
 from sfa.trust.certificate import Keypair, Certificate
 from sfa.trust.hierarchy import Hierarchy
 from sfa.trust.gid import GID
+
 from sfa.server.sfaapi import SfaApi
 from sfa.server.registry import Registries
 from sfa.server.aggregate import Aggregates
+
 from sfa.client.return_value import ReturnValue
 
 
@@ -66,14 +69,15 @@ def daemon():
     # when installed in standalone we might not have httpd installed
     if not os.path.isdir(logdir):
         os.mkdir('/var/log/httpd')
-    crashlog = os.open('%s/sfa_access_log' % logdir, os.O_RDWR | os.O_APPEND | os.O_CREAT, 0644)
+    crashlog = os.open('%s/sfa_access_log' % logdir,
+                       os.O_RDWR | os.O_APPEND | os.O_CREAT, 0644)
     os.dup2(crashlog, 1)
     os.dup2(crashlog, 2)
 
 
 def install_peer_certs(server_key_file, server_cert_file):
     """
-    Attempt to install missing trusted gids and db records for 
+    Attempt to install missing trusted gids and db records for
     our federated interfaces
     """
     # Attempt to get any missing peer gids
@@ -129,18 +133,18 @@ def install_peer_certs(server_key_file, server_cert_file):
                         gid.save_to_file(gid_filename, save_parents=True)
                         message = "installed trusted cert for %s" % new_hrn
                     # log the message
-                    api.logger.info(message)
-        except:
+                    logger.info(message)
+        except Exception:
             message = "interface: %s\tunable to install trusted gid for %s" % \
                 (api.interface, new_hrn)
-            api.logger.log_exc(message)
+            logger.log_exc(message)
     # doesnt matter witch one
     update_cert_records(peer_gids)
 
 
 def update_cert_records(gids):
     """
-    Make sure there is a record in the registry for the specified gids. 
+    Make sure there is a record in the registry for the specified gids.
     Removes old records from the db.
     """
     # import db stuff here here so this module can be loaded by PlcComponentApi
@@ -167,11 +171,12 @@ def update_cert_records(gids):
         record = dbsession.query(RegRecord).filter_by(
             hrn=hrn, type=type, pointer=-1).first()
         if not record:
-            record = RegRecord(dict={'type': type,
-                                     'hrn': hrn,
-                                     'authority': get_authority(hrn),
-                                     'gid': gid.save_to_string(save_parents=True),
-                                     })
+            record = RegRecord(
+                dict={'type': type,
+                      'hrn': hrn,
+                      'authority': get_authority(hrn),
+                      'gid': gid.save_to_string(save_parents=True),
+                      })
             dbsession.add(record)
     dbsession.commit()
 
@@ -187,13 +192,15 @@ def main():
                       help="run aggregate manager", default=False)
     parser.add_option("-c", "--component", dest="cm", action="store_true",
                       help="run component server", default=False)
-    parser.add_option("-t", "--trusted-certs", dest="trusted_certs", action="store_true",
+    parser.add_option("-t", "--trusted-certs",
+                      dest="trusted_certs", action="store_true",
                       help="refresh trusted certs", default=False)
     parser.add_option("-d", "--daemon", dest="daemon", action="store_true",
                       help="Run as daemon.", default=False)
     (options, args) = parser.parse_args()
 
     config = Config()
+    init_logger('server')
     logger.setLevelFromOptVerbose(config.SFA_API_LOGLEVEL)
 
     # ge the server's key and cert
@@ -240,5 +247,6 @@ def main():
 if __name__ == "__main__":
     try:
         main()
-    except:
-        logger.log_exc_critical("SFA server is exiting")
+    except Exception:
+        logger.log_exc("SFA server is exiting")
+        exit(1)