Revision 9176
Added by Aaron Marcuse-Kubitza about 11 years ago
lib/sh/util.sh | ||
---|---|---|
156 | 156 |
: "${verbosity:=0}" # ensure non-empty |
157 | 157 |
export verbosity # propagate to invoked commands |
158 | 158 |
|
159 |
: "${log_level_indent= }" "${log_indent=}" |
|
160 |
export log_level_indent log_indent # propagate to invoked commands |
|
161 |
alias indent='declare log_indent="$log_indent$log_level_indent"' |
|
162 |
|
|
163 |
# usage: in func: PS4++; ... |
|
164 |
# outside func: PS4++; ...; PS4-- |
|
165 |
alias PS4++='declare PS4="${PS4:0:1}$PS4"' |
|
166 |
alias PS4--='declare PS4="${PS4#${PS4:0:1}}"' |
|
167 |
|
|
168 |
# usage: in func: log++; ... |
|
169 |
# outside func: log++; ...; log-- |
|
170 |
alias log++='{ PS4++; declare verbosity="$verbosity"; let! verbosity--; }' |
|
171 |
alias log--='{ PS4--; declare verbosity="$verbosity"; let! verbosity++; }' |
|
172 |
|
|
159 | 173 |
can_log() { test "$verbosity" -gt 0; } # verbosity=0 turns off all logging |
160 | 174 |
|
161 | 175 |
log() { if can_log; then echo "$log_indent$PS4$1" >&2; fi; } |
... | ... | |
173 | 187 |
# usage: cmd || [type=...] die msg |
174 | 188 |
die() { save_e; "log_${type:-err}" "$1"; rethrow; } |
175 | 189 |
|
176 |
: "${log_level_indent= }" "${log_indent=}" |
|
177 |
export log_level_indent log_indent # propagate to invoked commands |
|
178 |
alias indent='declare log_indent="$log_indent$log_level_indent"' |
|
179 | 190 |
|
180 |
# usage: in func: PS4++; ... |
|
181 |
# outside func: PS4++; ...; PS4-- |
|
182 |
alias PS4++='declare PS4="${PS4:0:1}$PS4"' |
|
183 |
alias PS4--='declare PS4="${PS4#${PS4:0:1}}"' |
|
184 |
|
|
185 |
# usage: in func: log++; ... |
|
186 |
# outside func: log++; ...; log-- |
|
187 |
alias log++='{ PS4++; declare verbosity="$verbosity"; let! verbosity--; }' |
|
188 |
alias log--='{ PS4--; declare verbosity="$verbosity"; let! verbosity++; }' |
|
189 |
|
|
190 |
|
|
191 | 191 |
### command echoing |
192 | 192 |
|
193 | 193 |
alias echo_params='log "$*"' |
Also available in: Unified diff
lib/sh/util.sh: moved log-indent-related vars/aliases before they are first used (by log())