|
2 | 2 |
|
3 | 3 | bash_object.trace_loop() { |
4 | 4 | if [ -n "${TRACE_BASH_OBJECT_TRAVERSE+x}" ]; then |
5 | | - stdtrace.log 0 "-- START LOOP ITERATION" |
6 | | - stdtrace.log 0 "i+1: '$((i+1))'" |
7 | | - stdtrace.log 0 "\${#REPLIES[@]}: ${#REPLIES[@]}" |
8 | | - stdtrace.log 0 "key: '$key'" |
9 | | - stdtrace.log 0 "current_object_name: '$current_object_name'" |
10 | | - stdtrace.log 0 "current_object=(" |
| 5 | + bash_object.trace_print 0 "-- START LOOP ITERATION" |
| 6 | + bash_object.trace_print 0 "i+1: '$((i+1))'" |
| 7 | + bash_object.trace_print 0 "\${#REPLIES[@]}: ${#REPLIES[@]}" |
| 8 | + bash_object.trace_print 0 "key: '$key'" |
| 9 | + bash_object.trace_print 0 "current_object_name: '$current_object_name'" |
| 10 | + bash_object.trace_print 0 "current_object=(" |
11 | 11 | for debug_key in "${!current_object[@]}"; do |
12 | | - stdtrace.log 0 " [$debug_key]='${current_object[$debug_key]}'" |
| 12 | + bash_object.trace_print 0 " [$debug_key]='${current_object[$debug_key]}'" |
13 | 13 | done |
14 | | - stdtrace.log 0 ")" |
| 14 | + bash_object.trace_print 0 ")" |
15 | 15 | fi |
16 | 16 | } |
17 | 17 |
|
18 | 18 | bash_object.trace_current_object() { |
19 | 19 | if [ -n "${TRACE_BASH_OBJECT_TRAVERSE+x}" ]; then |
20 | | - stdtrace.log 0 "key: '$key'" |
21 | | - stdtrace.log 0 "current_object_name: '$current_object_name'" |
22 | | - stdtrace.log 0 "current_object=(" |
| 20 | + bash_object.trace_print 0 "key: '$key'" |
| 21 | + bash_object.trace_print 0 "current_object_name: '$current_object_name'" |
| 22 | + bash_object.trace_print 0 "current_object=(" |
23 | 23 | for debug_key in "${!current_object[@]}"; do |
24 | | - stdtrace.log 0 " [$debug_key]='${current_object[$debug_key]}'" |
| 24 | + bash_object.trace_print 0 " [$debug_key]='${current_object[$debug_key]}'" |
25 | 25 | done |
26 | | - stdtrace.log 0 ")" |
| 26 | + bash_object.trace_print 0 ")" |
27 | 27 | fi |
28 | 28 | } |
| 29 | + |
| 30 | +bash_object.trace_print() { |
| 31 | + local level="$1" |
| 32 | + local message="$2" |
| 33 | + |
| 34 | + local padding= |
| 35 | + case "$level" in |
| 36 | + 0) padding= ;; |
| 37 | + 1) padding=" " ;; |
| 38 | + 2) padding=" " ;; |
| 39 | + 3) padding=" " ;; |
| 40 | + esac |
| 41 | + |
| 42 | + printf '%s\n' "TRACE $level: $padding| $message" >&3 |
| 43 | +} |
0 commit comments