jenkins-bot has submitted this change and it was merged.

Change subject: Make `--verbose` a universal argument
......................................................................


Make `--verbose` a universal argument

Change the logging usage in scap so that all "useful for deployer to
see" log messages are emitted at info or a higher level. Raise the
default logging level for the console appender to INFO. Make the
`--verbose` command line argument universal in cli.Application.

This change also removes the short form `-v` argument for the
scap-purge-l10n-cache script as it conflicts with the short form `-v`
verbose argument.

Change-Id: Ifcfcbfe1848d4b297faa6c712c8b21f15e0f92a7
---
M scap/cli.py
M scap/log.py
M scap/main.py
M scap/tasks.py
4 files changed, 18 insertions(+), 14 deletions(-)

Approvals:
  Ori.livneh: Looks good to me, approved
  Hashar: Looks good to me, but someone else must approve
  20after4: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/scap/cli.py b/scap/cli.py
index 93252b3..f49a369 100644
--- a/scap/cli.py
+++ b/scap/cli.py
@@ -49,6 +49,10 @@
                 self.config['statsd_host'], int(self.config['statsd_port']))
         return self._stats
 
+    @property
+    def verbose(self):
+        return self.arguments.loglevel < logging.INFO
+
     def announce(self, *args):
         """Announce a message to broadcast listeners.
 
@@ -115,6 +119,9 @@
         parser.add_argument('-D', '--define', dest='defines',
             action='append', type=lambda v: tuple(v.split(':')),
             help='Set a configuration value', metavar='<name>:<value>')
+        parser.add_argument('-v', '--verbose', action='store_const',
+            const=logging.DEBUG, default=logging.INFO, dest='loglevel',
+            help='Verbose output')
 
         return parser
 
@@ -141,6 +148,7 @@
     def _setup_loggers(self):
         """Setup logging."""
         log.setup_loggers(self.config)
+        logging.root.setLevel(self.arguments.loglevel)
 
     def main(self, *extra_args):
         """Main business logic of the application.
@@ -173,7 +181,7 @@
 
         :returns: exit status
         """
-        self.logger.debug('Unhandled error:', exc_info=True)
+        self.logger.warn('Unhandled error:', exc_info=True)
         self.logger.error('%s failed: <%s> %s',
             self.program_name, type(ex).__name__, ex)
         return 70
@@ -224,7 +232,7 @@
         """
         # Bootstrap the logging system
         logging.basicConfig(
-            level=logging.DEBUG,
+            level=logging.INFO,
             format=log.CONSOLE_LOG_FORMAT,
             datefmt='%H:%M:%S')
 
diff --git a/scap/log.py b/scap/log.py
index 353140b..8845db7 100644
--- a/scap/log.py
+++ b/scap/log.py
@@ -306,7 +306,7 @@
         """
         self.start = time.time()
         self.mark_start = self.start
-        self.logger.debug('Started %s' % self.label)
+        self.logger.info('Started %s' % self.label)
         return self
 
     def __exit__(self, exc_type, exc_value, traceback):
diff --git a/scap/main.py b/scap/main.py
index c3b05d5..6f0b1a9 100644
--- a/scap/main.py
+++ b/scap/main.py
@@ -57,7 +57,7 @@
 class PurgeL10nCache(cli.Application):
     """Purge the localization cache for an inactive MediaWiki version."""
 
-    @cli.argument('-v', '--version', required=True,
+    @cli.argument('--version', required=True,
         help='MediaWiki version (eg 1.23wmf16)')
     def main(self, *extra_args):
         if self.arguments.version.startswith('php-'):
@@ -100,8 +100,6 @@
         args.message = ' '.join(args.message) or '(no message)'
         return args, extra_args
 
-    @cli.argument('-v', '--verbose', action='store_true',
-        help='Verbose output')
     @cli.argument('message', nargs=argparse.REMAINDER,
         help='Log message for SAL')
     def main(self, *extra_args):
@@ -142,7 +140,7 @@
             with log.Timer('mw-update-l10n', self.stats):
                 for version, wikidb in self.active_wikiversions().items():
                     tasks.update_localization_cache(
-                        version, wikidb, self.arguments.verbose, self.config)
+                        version, wikidb, self.verbose, self.config)
 
             # Compute git version information
             with log.Timer('cache_git_info', self.stats):
@@ -221,7 +219,7 @@
         return 1
 
     def _handle_exception(self, ex):
-        self.logger.debug('Unhandled error:', exc_info=True)
+        self.logger.warn('Unhandled error:', exc_info=True)
         self.announce('scap failed: %s %s (duration: %s)',
             type(ex).__name__, ex, self.human_duration)
         return 1
@@ -265,9 +263,7 @@
 class UpdateL10n(cli.Application):
     """Update localization files"""
 
-    @cli.argument('-v', '--verbose', action='store_true',
-        help='Verbose output')
     def main(self, *extra_args):
         for version, wikidb in self.active_wikiversions().items():
             tasks.update_localization_cache(
-                version, wikidb, self.arguments.verbose, self.config)
+                version, wikidb, self.verbose, self.config)
diff --git a/scap/tasks.py b/scap/tasks.py
index b2d7d93..01556fe 100644
--- a/scap/tasks.py
+++ b/scap/tasks.py
@@ -141,7 +141,7 @@
 
     os.rename(tmp_cdb_file, cdb_file)
     os.chmod(cdb_file, 0664)
-    logger.debug('Compiled %s to %s', json_file, cdb_file)
+    logger.info('Compiled %s to %s', json_file, cdb_file)
 
 
 def merge_cdb_updates(directory, pool_size, trust_mtime=False):
@@ -244,7 +244,7 @@
     rsync = ('sudo', '-u', 'mwdeploy') + DEFAULT_RSYNC_ARGS
     rsync += ('%s::common' % server, cfg['deploy_dir'])
 
-    logger.debug('Copying to %s from %s', socket.getfqdn(), server)
+    logger.info('Copying to %s from %s', socket.getfqdn(), server)
     stats = log.Stats(cfg['statsd_host'], int(cfg['statsd_port']))
     with log.Timer('rsync common', stats):
         subprocess.check_call(rsync)
@@ -407,7 +407,7 @@
     deploy_dir = os.path.realpath(cfg['deploy_dir'])
     stage_dir = os.path.realpath(cfg['stage_dir'])
     if stage_dir != deploy_dir:
-        logger.debug('Copying to local copy')
+        logger.debug('Copying ExtensionMessages-*.php to local copy')
         utils.sudo_check_call('mwdeploy',
             'cp "%s" "%s/wmf-config/"' % (
                 extension_messages, cfg['deploy_dir']),

-- 
To view, visit https://gerrit.wikimedia.org/r/134730
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ifcfcbfe1848d4b297faa6c712c8b21f15e0f92a7
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/tools/scap
Gerrit-Branch: master
Gerrit-Owner: BryanDavis <bda...@wikimedia.org>
Gerrit-Reviewer: 20after4 <mmod...@wikimedia.org>
Gerrit-Reviewer: BryanDavis <bda...@wikimedia.org>
Gerrit-Reviewer: Chad <ch...@wikimedia.org>
Gerrit-Reviewer: Hashar <has...@free.fr>
Gerrit-Reviewer: Ori.livneh <o...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to