In some circumstances, the level of a logger appears to be reset to 12 (lowest), causing a loss of bxilog performance.
I could not isolate the problem.
Please find attached an excerpt from our code and the resulting trace.
# initialize the global trace variable
logger = logging.getLogger("beo.common")
def configure_logging(argv, args):
"""Configure logging according to general trace options"""
# general configuration
config = ConfigObj(CONFIG_BEO).dict()
log_config = config['logging']
log_config['history']['file'] = log_config['history']['path']
if args.verbose:
deep_update(log_config, config['logging_verbose'])
elif args.debug:
deep_update(log_config, config['logging_debug'])
log_config['debug']['path'] = '/tmp/%s-%d.dbg' % (os.path.basename(argv[0]), os.getpid())
log_config['debug']['file'] = log_config['debug']['path']
elif args.quiet:
deep_update(log_config, config['logging_quiet'])
logging.cleanup()
logging.set_config(ConfigObj(log_config))
# display the selected level
if args.verbose:
logger.info("verbose mode activated")
elif args.debug:
logger.debug("debug mode activated %s:%s", os.uname()[1], log_config['debug']['file'])
logger.debug("argv = %s", argv)
logger.out("1/level=%i",logger.level)
logger.out("2/level=%i",logger.level)
logger.out("3/level=%i",logger.level)
[root@girardm-gmonitor0 (MEXICO) ~]# beo tree test31999
[D] ~bxilog Initialization done
[D] ~bxilog.sign Setting signal handler process wide
[D] ~bxilog.sign Signal handler set for 11: Segmentation fault
[D] ~bxilog.sign Signal handler set for 7: Bus error
[D] ~bxilog.sign Signal handler set for 8: Floating point exception
[D] ~bxilog.sign Signal handler set for 4: Illegal instruction
[D] ~bxilog.sign Signal handler set for 2: Interrupt
[D] ~bxilog.sign Signal handler set for 15: Terminated
[I] ~bxilog.sign Signal handlers set
[D] ~bxilog.conf BXI logging configuration: {'handlers': ['console', 'history', 'syslog'], 'syslog': {'filters': 'beo.syslog:debug', 'module': 'bxi.base.log.syslog_handler', 'facility': 'LOG_LOCAL0'}, 'history': {'path': '/var/log/beo.log', 'file': '/var/log/beo.log', 'append': 'True', 'filters': 'beo.history:output', 'module': 'bxi.base.log.file_handler'}, 'console': {'stderr_level': 'notice', 'filters': ':debug,beo.history:off,beo.syslog:off', 'module': 'bxi.base.log.console_handler'}}
1/level=7
2/level=12
3/level=12
[D] beo.common action_tree components=test31999 depth=999 component_type=None
Components loaded in 0.193483829498s (saved in 0.0s)
ComponentTree loaded in 0.482586860657s (saved in 0.0s)
[D] beo.common components_expanded=['test31999']
[D] beo.common ComponentTree.get_by_name found component_name=test31999
test31999 (node:node)
[D] beo.beo exitcode = 0
[D] ~bxilog.conf Logging level of beo.beo: lowest
[D] ~bxilog.conf Logging level of beo.common: lowest
[D] ~bxilog.conf Logging level of beo.history: lowest
[D] ~bxilog.conf Logging level of beo.syslog: lowest
[D] ~bxilog.conf Logging level of beo.tree: lowest
[D] ~bxilog.conf Logging level of ~bxilog: lowest
[D] ~bxilog.conf Logging level of ~bxilog.cfg: lowest
[D] ~bxilog.conf Logging level of ~bxilog.config: lowest
[D] ~bxilog.conf Logging level of ~bxilog.config.loggers: lowest
[D] ~bxilog.conf Logging level of ~bxilog.fork: lowest
[D] ~bxilog.conf Logging level of ~bxilog.logger: lowest
[D] ~bxilog.conf Logging level of ~bxilog.lvl: lowest
[D] ~bxilog.conf Logging level of ~bxilog.netsnmp: lowest
[D] ~bxilog.conf Logging level of ~bxilog.remote: lowest
[D] ~bxilog.conf Logging level of ~bxilog.signal: lowest
[D] ~bxilog Exiting bxilog
[root@girardm-gmonitor0 (MEXICO) ~]# rpm -qa |grep bxi
bxibackbone-5.1.0-Bull.2.0.el7.x86_64
bxibase-7.0.1-Bull.1.0.el7.x86_64
bxiepp-2.5.1-Bull.1.0.el7.x86_64
bxiutil-4.0.0-Bull.2.0.el7.x86_64
bxiconfigutils-2.1.0-Bull.1.0.el7.x86_64
In some circumstances, the level of a logger appears to be reset to 12 (lowest), causing a loss of bxilog performance.
I could not isolate the problem.
Please find attached an excerpt from our code and the resulting trace.
[root@girardm-gmonitor0 (MEXICO) ~]# beo tree test31999
[D] ~bxilog Initialization done
[D] ~bxilog.sign Setting signal handler process wide
[D] ~bxilog.sign Signal handler set for 11: Segmentation fault
[D] ~bxilog.sign Signal handler set for 7: Bus error
[D] ~bxilog.sign Signal handler set for 8: Floating point exception
[D] ~bxilog.sign Signal handler set for 4: Illegal instruction
[D] ~bxilog.sign Signal handler set for 2: Interrupt
[D] ~bxilog.sign Signal handler set for 15: Terminated
[I] ~bxilog.sign Signal handlers set
[D] ~bxilog.conf BXI logging configuration: {'handlers': ['console', 'history', 'syslog'], 'syslog': {'filters': 'beo.syslog:debug', 'module': 'bxi.base.log.syslog_handler', 'facility': 'LOG_LOCAL0'}, 'history': {'path': '/var/log/beo.log', 'file': '/var/log/beo.log', 'append': 'True', 'filters': 'beo.history:output', 'module': 'bxi.base.log.file_handler'}, 'console': {'stderr_level': 'notice', 'filters': ':debug,beo.history:off,beo.syslog:off', 'module': 'bxi.base.log.console_handler'}}
1/level=7
2/level=12
3/level=12
[D] beo.common action_tree components=test31999 depth=999 component_type=None
Components loaded in 0.193483829498s (saved in 0.0s)
ComponentTree loaded in 0.482586860657s (saved in 0.0s)
[D] beo.common components_expanded=['test31999']
[D] beo.common ComponentTree.get_by_name found component_name=test31999
test31999 (node:node)
[D] beo.beo exitcode = 0
[D] ~bxilog.conf Logging level of beo.beo: lowest
[D] ~bxilog.conf Logging level of beo.common: lowest
[D] ~bxilog.conf Logging level of beo.history: lowest
[D] ~bxilog.conf Logging level of beo.syslog: lowest
[D] ~bxilog.conf Logging level of beo.tree: lowest
[D] ~bxilog.conf Logging level of ~bxilog: lowest
[D] ~bxilog.conf Logging level of ~bxilog.cfg: lowest
[D] ~bxilog.conf Logging level of ~bxilog.config: lowest
[D] ~bxilog.conf Logging level of ~bxilog.config.loggers: lowest
[D] ~bxilog.conf Logging level of ~bxilog.fork: lowest
[D] ~bxilog.conf Logging level of ~bxilog.logger: lowest
[D] ~bxilog.conf Logging level of ~bxilog.lvl: lowest
[D] ~bxilog.conf Logging level of ~bxilog.netsnmp: lowest
[D] ~bxilog.conf Logging level of ~bxilog.remote: lowest
[D] ~bxilog.conf Logging level of ~bxilog.signal: lowest
[D] ~bxilog Exiting bxilog
[root@girardm-gmonitor0 (MEXICO) ~]# rpm -qa |grep bxi
bxibackbone-5.1.0-Bull.2.0.el7.x86_64
bxibase-7.0.1-Bull.1.0.el7.x86_64
bxiepp-2.5.1-Bull.1.0.el7.x86_64
bxiutil-4.0.0-Bull.2.0.el7.x86_64
bxiconfigutils-2.1.0-Bull.1.0.el7.x86_64