composer-cli should not log to a file by default

The user can pass --log /path/to/logfile.log if they want logging
enabled.

(cherry picked from commit 844ff9998b)
This commit is contained in:
Brian C. Lane 2018-08-20 15:30:51 -07:00
parent c316be7e11
commit d8750db166
2 changed files with 17 additions and 11 deletions

View File

@ -29,8 +29,12 @@ from composer.cli.cmdline import composer_cli_parser
VERSION = "{0}-{1}".format(os.path.basename(sys.argv[0]), vernum) VERSION = "{0}-{1}".format(os.path.basename(sys.argv[0]), vernum)
def setup_logging(logfile): def setup_logging(logfile=None):
# Setup logging to console and to logfile """ Setup logging to console and to an optional logfile
:param logfile: Optional path to file to store logs in
:type logfile: None or str
"""
log.setLevel(logging.DEBUG) log.setLevel(logging.DEBUG)
sh = logging.StreamHandler() sh = logging.StreamHandler()
@ -39,11 +43,12 @@ def setup_logging(logfile):
sh.setFormatter(fmt) sh.setFormatter(fmt)
log.addHandler(sh) log.addHandler(sh)
fh = logging.FileHandler(filename=logfile) if logfile != None:
fh.setLevel(logging.DEBUG) fh = logging.FileHandler(filename=logfile)
fmt = logging.Formatter("%(asctime)s %(levelname)s %(name)s: %(message)s") fh.setLevel(logging.DEBUG)
fh.setFormatter(fmt) fmt = logging.Formatter("%(asctime)s %(levelname)s %(name)s: %(message)s")
log.addHandler(fh) fh.setFormatter(fmt)
log.addHandler(fh)
if __name__ == '__main__': if __name__ == '__main__':
# parse the arguments # parse the arguments
@ -54,9 +59,10 @@ if __name__ == '__main__':
print(VERSION) print(VERSION)
sys.exit(0) sys.exit(0)
logpath = os.path.abspath(os.path.dirname(opts.logfile)) if opts.logfile != None:
if not os.path.isdir(logpath): logpath = os.path.abspath(os.path.dirname(opts.logfile))
os.makedirs(logpath) if not os.path.isdir(logpath):
os.makedirs(logpath)
setup_logging(opts.logfile) setup_logging(opts.logfile)
log.debug("opts=%s", opts) log.debug("opts=%s", opts)

View File

@ -35,7 +35,7 @@ def composer_cli_parser():
help="Output the raw JSON response instead of the normal output.") help="Output the raw JSON response instead of the normal output.")
parser.add_argument("-s", "--socket", default="/run/weldr/api.socket", metavar="SOCKET", parser.add_argument("-s", "--socket", default="/run/weldr/api.socket", metavar="SOCKET",
help="Path to the socket file to listen on") help="Path to the socket file to listen on")
parser.add_argument("--log", dest="logfile", default="./composer-cli.log", metavar="LOG", parser.add_argument("--log", dest="logfile", default=None, metavar="LOG",
help="Path to logfile (./composer-cli.log)") help="Path to logfile (./composer-cli.log)")
parser.add_argument("-a", "--api", dest="api_version", default="0", metavar="APIVER", parser.add_argument("-a", "--api", dest="api_version", default="0", metavar="APIVER",
help="API Version to use") help="API Version to use")