Improve logging, show most sizes in MB

This commit is contained in:
Dmitry Sutyagin 2016-08-26 19:14:53 +03:00
parent 465729d325
commit 4cdac56c3e
2 changed files with 17 additions and 11 deletions

View File

@ -200,6 +200,8 @@ def main(argv=None):
if args.quiet and not args.log_file: if args.quiet and not args.log_file:
args.verbose = 0 args.verbose = 0
loglevel = loglevels[min(len(loglevels)-1, args.verbose)] loglevel = loglevels[min(len(loglevels)-1, args.verbose)]
# always enable debug log if log file specificed
loglevel = logging.DEBUG if args.log_file else loglevel
FORMAT = ('%(asctime)s %(levelname)s: %(module)s: ' FORMAT = ('%(asctime)s %(levelname)s: %(module)s: '
'%(funcName)s(): %(message)s') '%(funcName)s(): %(message)s')
logging.basicConfig(filename=args.log_file, logging.basicConfig(filename=args.log_file,
@ -301,7 +303,7 @@ def main(argv=None):
has_logs = False has_logs = False
else: else:
has_logs = True has_logs = True
print('Total logs size to collect: %dMB.' % (size / 1000)) print('Total logs size to collect: %dMB.' % (size/1024/1024))
enough_space = pretty_run(args.quiet, 'Checking free space', enough_space = pretty_run(args.quiet, 'Checking free space',
nm.is_enough_space) nm.is_enough_space)
if not enough_space: if not enough_space:

View File

@ -401,6 +401,9 @@ class Node(object):
else: else:
self.logger.debug('log file "%s" excluded' % f) self.logger.debug('log file "%s" excluded' % f)
self.logger.debug('logs: %s' % (item['files'])) self.logger.debug('logs: %s' % (item['files']))
self.logger.info('node: %s, total logs size: %dMB' %
(self.id,
sum(self.nodes_list().values())/1024/1024))
return self.logs return self.logs
def logs_dict(self): def logs_dict(self):
@ -890,9 +893,9 @@ class NodeManager(object):
self.nodes[key].logs = result[key] self.nodes[key].logs = result[key]
for node in self.nodes.values(): for node in self.nodes.values():
total_size += sum(node.logs_dict().values()) total_size += sum(node.logs_dict().values())
self.logger.info('Full log size on nodes(with fuel): %s bytes' % self.logger.info('Full log size on nodes(with fuel): %d bytes' %
total_size) total_size)
self.alogsize = total_size / 1024 self.alogsize = total_size
return self.alogsize return self.alogsize
def is_enough_space(self): def is_enough_space(self):
@ -908,15 +911,16 @@ class NodeManager(object):
outs) outs)
return False return False
coeff = self.conf['logs_size_coefficient'] coeff = self.conf['logs_size_coefficient']
self.logger.info('logsize: %s Kb * %s, free space: %s Kb' % self.logger.info('logsize: %dMB * %s, free space: %dMB' %
(self.alogsize, coeff, fs)) (self.alogsize/1024/1024, coeff, fs/1024))
if (self.alogsize*coeff > fs): if (self.alogsize*coeff > fs*1024):
self.logger.error('Not enough space in "%s", logsize: %s Kb * %s, ' self.logger.error('Not enough space in "%s", logsize: %dMB * %s, '
'available: %s Kb. Decrease logs_size_coefficien' 'available: %dMB. Decrease logs_size_coefficient'
't config parameter (--logs-coeff CLI parameter)' ' config parameter (--logs-coeff CLI parameter)'
' or free up space.' % (self.conf['outdir'], ' or free up space.' % (self.conf['outdir'],
self.alogsize, coeff, self.alogsize/1024/1024,
fs)) coeff,
fs/1024))
return False return False
else: else:
return True return True