--- pungi-original 2007-05-03 13:51:43.000000000 -0400 +++ pungi-JG 2007-05-03 13:55:51.000000000 -0400 @@ -16,6 +16,7 @@ import pypungi.gather import pypungi.pungi import yum +import logging from ConfigParser import SafeConfigParser @@ -79,6 +80,21 @@ destdir = config.get('default', 'destdir') + if not config.has_option('default', 'quiet'):quiet=False + else:quiet=True + config.set('default','quiet',str(quiet)) + + config.set('default','verbosity1',str(opts.verbose)) + + config.set('default','verbosity2',str(opts.Verbose)) + + # initialize logging. + initLogger(config.get('default', 'destdir'), + '%s.%s.log' % (config.get('default', 'flavor'), config.get('default', 'arch')), + quiet=quiet, + useVerboseMode=opts.verbose) + log = logging.getLogger("pungi") + if not os.path.exists(destdir): try: os.makedirs(destdir) @@ -157,7 +173,10 @@ help="Flag to enable processing the SplitTree stage") parser.add_option("-I", action="store_true", default=False, dest="do_createiso", help="Flag to enable processing the CreateISO stage") - + parser.add_option("-v", action="store_true", default=False, dest="verbose", + help="Flag to enable verbose mode for pungi specific messages") + parser.add_option("-V", action="store_true", default=False, dest="Verbose", + help="Flag to enable verbose mode for messages of the applications and scripts that pungi uses") (opts, args) = parser.parse_args() if opts.do_gather or opts.do_buildinstall or opts.do_packageorder or opts.do_splittree or opts.do_createiso: @@ -180,4 +198,31 @@ manifestfile.close() return pkglist + def initLogger(path, filename, quiet=True, useVerboseMode=False): + """Initialize the log stuff so other files can use it. + + path - Is the directory where the log will be located + filename - Is the log files name + useLogFile - Whether to log to the file or not + useVerboseMode - Whether to output stuff to pungis stdout + """ + logger = logging.getLogger("pungi") + if not quiet: + logdir = os.path.join(path , 'logs') + if not os.path.exists(logdir): + os.makedirs(logdir) + logfile = os.path.join(logdir, filename) + + fileHandler = logging.FileHandler(logfile) + fileHandler.setLevel(logging.DEBUG) + logger.addHandler(fileHandler) + + if useVerboseMode: + stdoutHandler = logging.StreamHandler(sys.stdout) + stdoutHandler.setLevel(logging.INFO) + logger.addHandler(stdoutHandler) + + logger.setLevel(logging.DEBUG) + if quiet and not useVerboseMode:logger.disabled=1 + main()