diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 00000000..045cfad6 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,3 @@ +Release type: major + +Change default of `--fatal` command line switch to terminate on error. diff --git a/pelican/__init__.py b/pelican/__init__.py index bd867988..82f5887d 100644 --- a/pelican/__init__.py +++ b/pelican/__init__.py @@ -358,10 +358,10 @@ def parse_arguments(argv=None): dest='selected_paths', default=None, help='Comma separated list of selected paths to write') - parser.add_argument('--fatal', metavar='errors|warnings', - choices=('errors', 'warnings'), default='', + parser.add_argument('--fatal', metavar='errors|warnings|ignore', + choices=('errors', 'warnings', 'ignore'), default='errors', help=('Exit the program with non-zero status if any ' - 'errors/warnings encountered.')) + 'errors/warnings encountered, or ignore any errors.')) parser.add_argument('--logs-dedup-min-level', default='WARNING', choices=('DEBUG', 'INFO', 'WARNING', 'ERROR'), @@ -525,7 +525,7 @@ def listen(server, port, output, excqueue=None): def main(argv=None): args = parse_arguments(argv) logs_dedup_min_level = getattr(logging, args.logs_dedup_min_level) - init_logging(level=args.verbosity, fatal=args.fatal, + init_logging(level=args.verbosity, fatal=(args.fatal if args.fatal != 'ignore' else ''), name=__name__, logs_dedup_min_level=logs_dedup_min_level) logger.debug('Pelican version: %s', __version__) diff --git a/pelican/log.py b/pelican/log.py index be176ea8..1aa019b6 100644 --- a/pelican/log.py +++ b/pelican/log.py @@ -103,7 +103,7 @@ logging.setLoggerClass(FatalLogger) logging.getLogger().__class__ = FatalLogger -def init(level=None, fatal='', handler=RichHandler(console=console), name=None, +def init(level=None, fatal='errors', handler=RichHandler(console=console), name=None, logs_dedup_min_level=None): FatalLogger.warnings_fatal = fatal.startswith('warning') FatalLogger.errors_fatal = bool(fatal)