Change-Id: Id630944944d472322a763fe41ccb0e1ed9fb3066
Signed-off-by: ahothan <ahothan@cisco.com>
# Can be overriden by --debug
debug: false
# Can be overriden by --debug
debug: false
+# Set to a valid path name if logging to file is to be enabled
+# Defaults to disabled
+log_file:
+
# Module and class name of factory which will be used to provide classes dynamically for other components.
factory_module: 'nfvbench.factory'
factory_class: 'BasicFactory'
# Module and class name of factory which will be used to provide classes dynamically for other components.
factory_module: 'nfvbench.factory'
factory_class: 'BasicFactory'
+_product_name = 'nfvbench'
-def setup(product_name):
# logging.basicConfig()
formatter_str = '%(asctime)s %(levelname)s %(message)s'
handler = logging.StreamHandler()
handler.setFormatter(logging.Formatter(formatter_str))
# Add handler to logger
# logging.basicConfig()
formatter_str = '%(asctime)s %(levelname)s %(message)s'
handler = logging.StreamHandler()
handler.setFormatter(logging.Formatter(formatter_str))
# Add handler to logger
- logger = logging.getLogger(product_name)
+ logger = logging.getLogger(_product_name)
logger.addHandler(handler)
logger.addHandler(handler)
+def add_file_logger(logfile):
+ if logfile:
+ file_formatter_str = '%(asctime)s %(levelname)s %(message)s'
+ file_handler = logging.FileHandler(logfile, mode='w')
+ file_handler.setFormatter(logging.Formatter(file_formatter_str))
+ logger = logging.getLogger(_product_name)
+ logger.addHandler(file_handler)
-def set_level(product, debug=False):
+def set_level(debug=False):
log_level = logging.DEBUG if debug else logging.INFO
log_level = logging.DEBUG if debug else logging.INFO
- logger = logging.getLogger(product)
+ logger = logging.getLogger(_product_name)
logger.setLevel(log_level)
logger.setLevel(log_level)
-
-def getLogger(product):
- logger = logging.getLogger(product)
-
+def getLogger():
+ logger = logging.getLogger(_product_name)
-LOG = getLogger('nfvbench')
def print_summary(self, result):
"""Print summary of the result"""
def print_summary(self, result):
"""Print summary of the result"""
- print NFVBenchSummarizer(result)
- sys.stdout.flush()
+ summary = NFVBenchSummarizer(result)
+ LOG.info(str(summary))
def save(self, result):
"""Save results in json format file."""
def save(self, result):
"""Save results in json format file."""
default=None,
help='Override traffic profile direction (requires -fs)')
default=None,
help='Override traffic profile direction (requires -fs)')
+ parser.add_argument('--log-file', '--logfile', dest='log_file',
+ action='store',
+ help='Filename for saving logs',
+ metavar='<log_file>')
+
opts, unknown_opts = parser.parse_known_args()
return opts, unknown_opts
opts, unknown_opts = parser.parse_known_args()
return opts, unknown_opts
# load default config file
config, default_cfg = load_default_config()
# create factory for platform specific classes
# load default config file
config, default_cfg = load_default_config()
# create factory for platform specific classes
openstack_spec = config_plugin.get_openstack_spec()
opts, unknown_opts = parse_opts_from_cli()
openstack_spec = config_plugin.get_openstack_spec()
opts, unknown_opts = parse_opts_from_cli()
- log.set_level('nfvbench', debug=opts.debug)
+ log.set_level(debug=opts.debug)
if opts.version:
print pbr.version.VersionInfo('nfvbench').version_string_with_vcs()
if opts.version:
print pbr.version.VersionInfo('nfvbench').version_string_with_vcs()
config.generator_profile = opts.generator_profile
if opts.sriov:
config.sriov = True
config.generator_profile = opts.generator_profile
if opts.sriov:
config.sriov = True
+ if opts.log_file:
+ config.log_file = opts.log_file
# show running config in json format
if opts.show_config:
# show running config in json format
if opts.show_config:
# in a copy of the dict (config plugin still holds the original dict)
config_plugin.set_config(config)
# in a copy of the dict (config plugin still holds the original dict)
config_plugin.set_config(config)
+ # add file log if requested
+ if config.log_file:
+ log.add_file_logger(config.log_file)
+
nfvbench = NFVBench(config, openstack_spec, config_plugin, factory)
if opts.server:
nfvbench = NFVBench(config, openstack_spec, config_plugin, factory)
if opts.server: