@@ -15,19 +15,23 @@ Options:\n
1515\t-n number of events (default=-1)\n
1616\t-m merge output files (see dependencies below)\n
1717\t-l larger JVM memory requests\n
18- \t-v verbose output\n
18+ \t-L set Java log level (e.g., info, fine, etc.)\n
19+ \t-q quiet output (overrides -L)\n
20+ \t-v verbose output (xtrace)\n
1921\t-h print this help and exit\n\n
2022Merging outputs (-m) requires hipo-utils and yq (https://github.com/mikefarah/yq).'
2123
2224function error() {
23- echo -e " \n$usage \n\nERROR: $@ ." && exit 1
25+ echo -e " \n$usage \n\nERROR: $@ ." >&2 && exit 1
2426}
2527
2628# Interpret command line:
2729threads=2
2830prefix=rec_
31+ java_quiet=false
32+ java_log_level=warning
2933CLARA_USER_DATA=.
30- while getopts y:o:p:c:t:n:lqmvh opt
34+ while getopts y:o:p:c:t:n:lL:qmvh opt
3135do
3236 case $opt in
3337 y) yaml=$OPTARG ;;
3741 t) threads=$OPTARG && echo $threads | grep -q -E ' ^[0-9]+$' || error " -t must be an integer, threads" ;;
3842 n) nevents=" -e $OPTARG " && echo " $nevents " | grep -q -E ' ^-e [0-9]+$' || error " -n must be an integer, events" ;;
3943 l) large=1 ;;
44+ L) java_log_level=$OPTARG ;;
4045 m) merge=1 ;;
41- q) quiet=1 ;;
46+ q) java_quiet=true ;;
4247 v) set -o xtrace ;;
4348 h) echo -e " \n$usage " && echo -e $info && exit 0 ;;
4449 esac
@@ -68,7 +73,7 @@ java_opts="-Xms${gb_init}g -Xmx${gb_max}g"
6873yaml=$( cd $( dirname $yaml ) && pwd) /$( basename $yaml )
6974
7075# Create the environment variables and directories required by CLARA:
71- [ -e $CLARA_USER_DATA ] && echo " WARNING: Using existing directory: $CLARA_USER_DATA "
76+ [ -e $CLARA_USER_DATA ] && echo " WARNING: Using existing directory: $CLARA_USER_DATA " >&2
7277mkdir -p $CLARA_USER_DATA || error " Cannot create -o output directory: $CLARA_USER_DATA "
7378mkdir -p $CLARA_USER_DATA /log $CLARA_USER_DATA /config $CLARA_USER_DATA /data/output
7479export CLARA_USER_DATA=$( cd $CLARA_USER_DATA && pwd)
9095JAVA_OPTS=" $java_opts $JAVA_OPTS -XX:+IgnoreUnrecognizedVMOptions"
9196JAVA_OPTS=" $JAVA_OPTS -Djava.io.tmpdir=$CLARA_USER_DATA -Dorg.sqlite.tmpdir=$CLARA_USER_DATA "
9297
93- # Set verbosity:
94- [ -z ${quiet+x} ] && stub=logging || stub=debug
98+ # Set logger and verbosity
9599JAVA_OPTS=" $JAVA_OPTS -Djava.util.logging.manager=org.jlab.logging.SplitLogManager"
96- JAVA_OPTS=" $JAVA_OPTS -Djava.util.logging.config.file=$CLAS12DIR /etc/logging/$stub .properties"
97-
100+ if $java_quiet ; then
101+ JAVA_OPTS=" $JAVA_OPTS -Djava.util.logging.config.file=$CLAS12DIR /etc/logging/logging.properties"
102+ else
103+ case ${java_log_level^^} in
104+ SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|ALL|OFF)
105+ JAVA_OPTS=" $JAVA_OPTS -D.level=${java_log_level^^} "
106+ ;;
107+ * )
108+ error " unknown Java log level '$java_log_level '"
109+ ;;
110+ esac
111+ fi
98112export JAVA_OPTS
99113
100114function get_host_ip() {
0 commit comments