@ -803,7 +803,7 @@ class MsgFilter(logging.Filter):
else :
else :
return 1
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 ( )
ignore_ctrlc ( )
@ -814,12 +814,26 @@ def process_logs(queue, indicatorsfmt, argv, log_dir, runtime_file, csv_file, xm
logging . _levelNames [ logging . ERROR ] = ' FAIL '
logging . _levelNames [ logging . ERROR ] = ' FAIL '
encoding = None
encoding = None
handler_out = logging . StreamHandler ( )
# handler for DEBUG, INFO, and WARNING, level
handler_out = logging . StreamHandler ( sys . stdout )
handler_out . setFormatter ( TXTFormatter ( indicatorsfmt ) )
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 = logging . getLogger ( ' patator ' )
logger . setLevel ( logging . DEBUG )
logger . setLevel ( logging . DEBUG )
logger . addHandler ( handler_out )
logger . addHandler ( handler_out )
logger . addHandler ( handler_err )
names = [ name for name , _ in indicatorsfmt ] + [ ' candidate ' , ' num ' , ' mesg ' ]
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 ' ) " )
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 = 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 = ' 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 ( ' -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 " )
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 ( )
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 . daemon = True
logsvc . start ( )
logsvc . start ( )