pull/181/merge
Lukas Vacula 4 months ago committed by GitHub
commit 6533df4a95
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -803,7 +803,7 @@ class MsgFilter(logging.Filter):
else:
return 1
def process_logs(queue, indicatorsfmt, argv, log_dir, runtime_file, csv_file, xml_file, hits_file):
def process_logs(queue, indicatorsfmt, argv, log_dir, runtime_file, csv_file, xml_file, hits_file, quiet):
ignore_ctrlc()
@ -814,12 +814,26 @@ def process_logs(queue, indicatorsfmt, argv, log_dir, runtime_file, csv_file, xm
logging._levelNames[logging.ERROR] = 'FAIL'
encoding = None
handler_out = logging.StreamHandler()
# handler for DEBUG, INFO, and WARNING, level
handler_out = logging.StreamHandler(sys.stdout)
handler_out.setFormatter(TXTFormatter(indicatorsfmt))
if quiet:
# filter out anything going to stdout
handler_out.addFilter(lambda record: record.levelno <= -1)
else:
# filter to only ERROR or lower to stdout
handler_out.addFilter(lambda record: record.levelno <= logging.ERROR)
# handler for CRITICAL error
handler_err = logging.StreamHandler(sys.stderr)
handler_err.setFormatter(TXTFormatter(indicatorsfmt))
handler_err.setLevel(logging.CRITICAL)
logger = logging.getLogger('patator')
logger.setLevel(logging.DEBUG)
logger.addHandler(handler_out)
logger.addHandler(handler_err)
names = [name for name, _ in indicatorsfmt] + ['candidate', 'num', 'mesg']
@ -1540,6 +1554,7 @@ Please read the README inside for more examples and usage information.
opt_grp.add_option('--groups', dest='groups', default='', metavar='', help="default is to iterate over the cartesian product of all payload sets, use this option to iterate over sets simultaneously instead (aka pitchfork), see syntax inside (default is '0,1..n')")
log_grp = OptionGroup(parser, 'Logging')
log_grp.add_option('-q', dest='quiet', action='store_true', default=False, help="suppress non-critical-error output")
log_grp.add_option('-l', dest='log_dir', metavar='DIR', help="save output and response data into DIR ")
log_grp.add_option('-L', dest='auto_log', metavar='SFX', help="automatically save into DIR/yyyy-mm-dd/hh:mm:ss_SFX (DIR defaults to '/tmp/patator')")
log_grp.add_option('-R', dest='runtime_file', metavar='FILE', help="save output to FILE")
@ -1606,7 +1621,7 @@ Please read the README inside for more examples and usage information.
log_queue = multiprocessing.Queue()
logsvc = multiprocessing.Process(name='LogSvc', target=process_logs, args=(log_queue, module.Response.indicatorsfmt, argv, build_logdir(opts.log_dir, opts.auto_log, opts.assume_yes), opts.runtime_file, opts.csv_file, opts.xml_file, opts.hits_file))
logsvc = multiprocessing.Process(name='LogSvc', target=process_logs, args=(log_queue, module.Response.indicatorsfmt, argv, build_logdir(opts.log_dir, opts.auto_log, opts.assume_yes), opts.runtime_file, opts.csv_file, opts.xml_file, opts.hits_file, opts.quiet))
logsvc.daemon = True
logsvc.start()

Loading…
Cancel
Save