X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=openmanod.py;h=f6436a6b9b3fd6198d0b6d565298909e2f9e44a8;hb=f97fd27f5902c7be87d888c095ffb0acc156e126;hp=40dc246e6605afb18b5f695f73e813d76169ec14;hpb=6032cb9057499dccab5e7c4f668d962457dd1d34;p=osm%2FRO.git diff --git a/openmanod.py b/openmanod.py index 40dc246e..f6436a6b 100755 --- a/openmanod.py +++ b/openmanod.py @@ -33,8 +33,8 @@ It loads the configuration file and launches the http_server thread that will li ''' __author__="Alfonso Tierno, Gerardo Garcia, Pablo Montes" __date__ ="$26-aug-2014 11:09:29$" -__version__="0.4.40-r476" -version_date="Jun 2016" +__version__="0.4.41-r478" +version_date="Jul 2016" database_version="0.10" #expected database schema version import httpserver @@ -49,9 +49,11 @@ import utils from openmano_schemas import config_schema import nfvo import logging +import logging.handlers as log_handlers global global_config -logger = logging.getLogger('mano') +global logger +logger = logging.getLogger('openmano') class LoadConfigurationException(Exception): pass @@ -62,6 +64,7 @@ def load_configuration(configuration_file): 'log_level': 'DEBUG', 'log_level_db': 'ERROR', 'log_level_vimconn': 'DEBUG', + 'log_level_nfvo': 'DEBUG', } try: #Check config file exists @@ -131,9 +134,11 @@ def usage(): if __name__=="__main__": #streamformat = "%(levelname)s (%(module)s:%(lineno)d) %(message)s" - streamformat = "%(asctime)s %(name)s %(levelname)s: %(message)s" - logging.basicConfig(format=streamformat, level= logging.DEBUG) + logging_local_format = "%(asctime)s %(name)s %(levelname)s: %(message)s" + logging_complete_format = "%(asctime)s %(name)s %(levelname)s %(filename)s:%(lineno)d %(funcName)s %(process)d: %(message)s" + logging.basicConfig(format=logging_local_format, level= logging.DEBUG) logger.setLevel(logging.DEBUG) + file_handler = None # Read parameters and configuration file try: opts, args = getopt.getopt(sys.argv[1:], "hvc:V:p:P:", ["config", "help", "version", "port", "vnf-repository", "adminport"]) @@ -166,7 +171,19 @@ if __name__=="__main__": #print global_config logging.basicConfig(level = getattr(logging, global_config.get('log_level',"debug"))) logger.setLevel(getattr(logging, global_config['log_level'])) + if "log_host" in global_config: + socket_handler= log_handlers.SocketHandler(global_config["log_host"], global_config["log_port"]) + logger.addHandler(socket_handler) + logger.addHandler(log_handlers.SysLogHandler()) + if "log_file" in global_config: + try: + file_handler= logging.handlers.RotatingFileHandler(global_config["log_file"], maxBytes=100e6, backupCount=9, delay=0) + file_handler.setFormatter(logging.Formatter(fmt=logging_complete_format)) + logger.addHandler(file_handler) + except IOError as e: + print "Error opening logging file '{}': {}. Check folder exist and permissions".fomat(global_config["log_file"], str(e)) # Override parameters obtained by command line + print logger.handlers if port is not None: global_config['http_port'] = port if port_admin is not None: global_config['http_admin_port'] = port_admin if vnf_repository is not None: @@ -189,7 +206,7 @@ if __name__=="__main__": global_config["console_thread"]={} global_config["console_ports"]={} # Initialize DB connection - mydb = nfvo_db.nfvo_db(); + mydb = nfvo_db.nfvo_db(log_level=global_config["log_level_db"]); if mydb.connect(global_config['db_host'], global_config['db_user'], global_config['db_passwd'], global_config['db_name']) == -1: logger.error("Error connecting to database %s at %s@%s", global_config['db_name'], global_config['db_user'], global_config['db_host']) exit(-1)