Skip to content

Commit 4b4119d

Browse files
committed
feat: log-level control in run-clara
1 parent 58e6510 commit 4b4119d

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

bin/run-clara

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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
2022
Merging outputs (-m) requires hipo-utils and yq (https://github.com/mikefarah/yq).'
2123

2224
function 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:
2729
threads=2
2830
prefix=rec_
31+
java_quiet=false
32+
java_log_level=warning
2933
CLARA_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
3135
do
3236
case $opt in
3337
y) yaml=$OPTARG ;;
@@ -37,8 +41,9 @@ do
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"
6873
yaml=$(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
7277
mkdir -p $CLARA_USER_DATA || error "Cannot create -o output directory: $CLARA_USER_DATA"
7378
mkdir -p $CLARA_USER_DATA/log $CLARA_USER_DATA/config $CLARA_USER_DATA/data/output
7479
export CLARA_USER_DATA=$(cd $CLARA_USER_DATA && pwd)
@@ -90,11 +95,20 @@ done
9095
JAVA_OPTS="$java_opts $JAVA_OPTS -XX:+IgnoreUnrecognizedVMOptions"
9196
JAVA_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
9599
JAVA_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
98112
export JAVA_OPTS
99113

100114
function get_host_ip() {

0 commit comments

Comments
 (0)