]> CyberLeo.Net >> Repos - CDN/Mosi.git/blob - script/lib/log.sh
script/lib/log: add commonly used aliases for log functions
[CDN/Mosi.git] / script / lib / log.sh
1 # Include for convenience log functions
2 # Set _log_to_stderr to send messages to stderr as well, for logging
3
4 if [ -z "${__log_sh_loaded}" ]
5 then
6   __log_sh_loaded=yes
7   
8   want ansi
9
10   logf() {
11     printf "${@}"
12     [ -n "${_log_to_stderr}" ] && printf "${@}" >&2
13   }
14
15   note() {
16     printf " ${a_cyan}*${a_normal} "
17     echo "${*}"
18     [ -n "${_log_to_stderr}" ] && echo "* note: ${*}" >&2
19   }
20
21   log() {
22     printf " ${a_green}*${a_normal} "
23     echo "${*}"
24     [ -n "${_log_to_stderr}" ] && echo "* log: ${*}" >&2
25   }
26   alias meh=log
27
28   warn() {
29     printf " ${a_yellow}*${a_normal} "
30     echo "${*}"
31     [ -n "${_log_to_stderr}" ] && echo "* warn: ${*}" >&2
32   }
33   alias omg=warn
34
35   err() {
36     printf " ${a_red}*${a_normal} "
37     echo "${*}"
38     [ -n "${_log_to_stderr}" ] && echo "* err: ${*}" >&2
39     exit 1
40   }
41   alias wtf=err
42
43   chk() {
44     _res=$?
45     if [ $# -gt 0 ]
46     then
47       out=$("${@}")
48       _res=$?
49     fi
50     if [ ${_res} -gt 0 ]
51     then
52       [ -n "${*}" ] && echo " ${a_red}*${a_normal} in '$(pwd)': cmd '${*}' failed with status ${_res}"
53       [ -n "${out}" ] && printf " ${a_red}*${a_normal} Output:\n${out}\n"
54       echo ""
55       kill $$
56     fi
57   }
58 fi