From 8d9339d501162583232ddc16ddab48bd55349069 Mon Sep 17 00:00:00 2001 From: Aaron LI Date: Thu, 29 Sep 2016 18:54:34 +0800 Subject: Add logging support for "healpix2hpx" & "hpx2healpix" * Argument "--log" control the log level * Argument "--logfile" to log the messages to file * Argument "--quiet" to disable logging messages to screen --- bin/hpx2healpix | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'bin/hpx2healpix') diff --git a/bin/hpx2healpix b/bin/hpx2healpix index 6f83426..c9a916c 100755 --- a/bin/hpx2healpix +++ b/bin/hpx2healpix @@ -11,12 +11,14 @@ i.e., the reverse of `healpix2hpx.py`. import os import sys import argparse +import logging import numpy as np from astropy.io import fits import fg21sim -from fg21sim.utils import hpx2healpix +from fg21sim.configs import configs +from fg21sim.utils import hpx2healpix, setup_logging # Reference: @@ -39,16 +41,36 @@ def main(): help="overwrite the existing output file") parser.add_argument("-F", "--float", action="store_true", help="use float (single precision) instead of double") + parser.add_argument("-l", "--log", dest="loglevel", default=None, + help="log level (valid values: " + "DEBUG, INFO, WARNING, ERROR, CRITICAL)") + parser.add_argument("-L", "--logfile", default=None, + help="filename where to save the log messages") + parser.add_argument("-Q", "--quiet", action="store_true", + help="be quiet so do not log messages to screen") args = parser.parse_args() + if args.quiet: + log_stream = "" + else: + log_stream = None + tool = os.path.basename(sys.argv[0]) + pkgname = fg21sim.__pkgname__ + + setup_logging(dict_config=configs.logging, + level=args.loglevel, + stream=log_stream, + logfile=args.logfile) + logger = logging.getLogger(tool) + logger.info("COMMAND: {0}".format(" ".join(sys.argv))) + history = [ "TOOL: {0}".format(tool), "PARAM: {0}".format(" ".join(sys.argv[1:])), ] comments = [ - 'Tool "{0}" is part of the "{1}" package'.format(tool, - fg21sim.__title__), + 'Tool "{0}" is part of the "{1}" package'.format(tool, pkgname), 'distributed under {0} license.'.format(fg21sim.__license__), 'See also {0}'.format(fg21sim.__url__) ] @@ -57,12 +79,14 @@ def main(): append_history=history, append_comment=comments) if args.float: + logger.info("HEALPix data: use single-precision float numbers") hp_data = hp_data.astype(np.float32) hdu = fits.BinTableHDU.from_columns([ fits.Column(name="I", array=hp_data, format=FITS_COLUMN_FORMATS.get(hp_data.dtype)) ], header=hp_header) hdu.writeto(args.outfile, clobber=args.clobber, checksum=True) + logger.info("HEALPix data write to FITS file: %s" % args.outfile) if __name__ == "__main__": -- cgit v1.2.2