mirror of
https://github.com/borgbackup/borg.git
synced 2025-03-03 18:27:01 +00:00
Merge pull request #542 from ThomasWaldmann/fix-stats-logging
log stats consistently, fixes #526
This commit is contained in:
commit
89169c3f87
2 changed files with 35 additions and 11 deletions
|
@ -21,7 +21,7 @@
|
|||
get_cache_dir, get_keys_dir, prune_within, prune_split, unhexlify, \
|
||||
Manifest, remove_surrogates, update_excludes, format_archive, check_extension_modules, Statistics, \
|
||||
dir_is_tagged, bigint_to_int, ChunkerParams, CompressionSpec, is_slow_msgpack, yes, sysinfo, \
|
||||
EXIT_SUCCESS, EXIT_WARNING, EXIT_ERROR
|
||||
EXIT_SUCCESS, EXIT_WARNING, EXIT_ERROR, log_multi
|
||||
from .logger import create_logger, setup_logging
|
||||
logger = create_logger()
|
||||
from .compress import Compressor, COMPR_BUFFER
|
||||
|
@ -37,6 +37,8 @@
|
|||
# default umask, overriden by --umask, defaults to read/write only for owner
|
||||
UMASK_DEFAULT = 0o077
|
||||
|
||||
DASHES = '-' * 78
|
||||
|
||||
|
||||
class ToggleAction(argparse.Action):
|
||||
"""argparse action to handle "toggle" flags easily
|
||||
|
@ -187,12 +189,12 @@ def do_create(self, args):
|
|||
archive.stats.show_progress(final=True)
|
||||
if args.stats:
|
||||
archive.end = datetime.now()
|
||||
print('-' * 78)
|
||||
print(str(archive))
|
||||
print()
|
||||
print(str(archive.stats))
|
||||
print(str(cache))
|
||||
print('-' * 78)
|
||||
log_multi(DASHES,
|
||||
str(archive),
|
||||
DASHES,
|
||||
str(archive.stats),
|
||||
str(cache),
|
||||
DASHES)
|
||||
return self.exit_code
|
||||
|
||||
def _process(self, archive, cache, excludes, exclude_caches, exclude_if_present,
|
||||
|
@ -339,9 +341,12 @@ def do_delete(self, args):
|
|||
manifest.write()
|
||||
repository.commit(save_space=args.save_space)
|
||||
cache.commit()
|
||||
logger.info("Archive deleted.")
|
||||
if args.stats:
|
||||
logger.info(stats.summary.format(label='Deleted data:', stats=stats))
|
||||
logger.info(str(cache))
|
||||
log_multi(DASHES,
|
||||
stats.summary.format(label='Deleted data:', stats=stats),
|
||||
str(cache),
|
||||
DASHES)
|
||||
else:
|
||||
if not args.cache_only:
|
||||
msg = []
|
||||
|
@ -495,8 +500,10 @@ def do_prune(self, args):
|
|||
repository.commit(save_space=args.save_space)
|
||||
cache.commit()
|
||||
if args.stats:
|
||||
logger.info(stats.summary.format(label='Deleted data:', stats=stats))
|
||||
logger.info(str(cache))
|
||||
log_multi(DASHES,
|
||||
stats.summary.format(label='Deleted data:', stats=stats),
|
||||
str(cache),
|
||||
DASHES)
|
||||
return self.exit_code
|
||||
|
||||
def do_upgrade(self, args):
|
||||
|
|
|
@ -18,6 +18,10 @@ def get_terminal_size(fallback=(80, 24)):
|
|||
import time
|
||||
import unicodedata
|
||||
|
||||
import logging
|
||||
from .logger import create_logger
|
||||
logger = create_logger()
|
||||
|
||||
from datetime import datetime, timezone, timedelta
|
||||
from fnmatch import translate
|
||||
from operator import attrgetter
|
||||
|
@ -1014,3 +1018,16 @@ def sysinfo():
|
|||
info.append('Borg: %s Python: %s %s' % (borg_version, platform.python_implementation(), platform.python_version()))
|
||||
info.append('')
|
||||
return '\n'.join(info)
|
||||
|
||||
|
||||
def log_multi(*msgs, level=logging.INFO):
|
||||
"""
|
||||
log multiple lines of text, each line by a separate logging call for cosmetic reasons
|
||||
|
||||
each positional argument may be a single or multiple lines (separated by \n) of text.
|
||||
"""
|
||||
lines = []
|
||||
for msg in msgs:
|
||||
lines.extend(msg.splitlines())
|
||||
for line in lines:
|
||||
logger.log(level, line)
|
||||
|
|
Loading…
Reference in a new issue