Project

General

Profile

« Previous | Next » 

Revision 9176

lib/sh/util.sh: moved log-indent-related vars/aliases before they are first used (by log())

View differences:

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