af89e5b0fd6bdb70fb350c7eebd5240133b010a9
[lhc/ateliers.git] / lib / log.sh
1 #!/bin/sh
2
3 export TERM=${TERM:-linux}
4 tput_rev=${nocolor:-$(tput rev)}
5 tput_sgr0=${nocolor:-$(tput sgr0)}
6 tput_bold=${nocolor:-$(tput bold)}
7 tput_setaf_0=${nocolor:-$(tput setaf 0)}
8 tput_setaf_2=${nocolor:-$(tput setaf 2)}
9
10 info () {
11 set=$(set +o | grep '^set .o xtrace$')
12 set +x
13 printf >&2 "%sINFO%s" "$tput_setaf_2" "$tput_sgr0"
14 comment=$1
15 shift
16 for var in "$@"
17 do
18 val=$(eval printf %s "\"\${$var:-}\"" || false) || false
19 printf >&2 ": %s%s%s=%s%s%s" "$tput_bold$tput_setaf_0" "$var" "$tput_sgr0" "$tput_bold$tput_setaf_0" "$val" "$tput_sgr0"
20 done
21 printf >&2 ": %s%s%s\n" "$tput_rev" "$comment" "$tput_sgr0"
22 $set
23 }
24 error () {
25 set=$(set +o | grep '^set .o xtrace$')
26 set +x
27 printf >&2 "%sERROR%s" "$tput_setaf_2" "$tput_sgr0"
28 errno=$1
29 comment=$2
30 shift 2
31 for var in "$@"
32 do
33 val=$(eval printf %s "\"\${$var:-}\"" || false) || false
34 printf >&2 ": %s%s%s=%s%s%s" "$tput_bold$tput_setaf_0" "$var" "$tput_sgr0" "$tput_bold$tput_setaf_0" "$val" "$tput_sgr0"
35 done
36 printf >&2 ": %s%s%s\n" "$tput_rev" "$comment" "$tput_sgr0"
37 $set
38 exit $1
39 }