client9 / shlib

portable functions for posix shell environments
The Unlicense
360 stars 36 forks source link

logging functionality #10

Open client9 opened 6 years ago

client9 commented 6 years ago

Much of the code uses echo as way of returning results or a partial result in a pipe.

Other times echo is used as a logging mechanism, and inconsistently.

Here are two examples of the later:

uname_os_check.sh:  echo "$0: uname_os_check: internal error '$(uname -s)' got converted to '$os' which is not a GOOS value. Please file bug at https://github.com/client9/shlib"
untar.sh:      echo "Unknown archive format for ${tarball}"

Both also go to stdout, not stderr.

Better would be to have a function that does logging.

Thinking

log_error
log_info
log_debug
log_prefix 

The last one would be a function that would emit a common prefix. A function so smart people could completely over-ride it and add a date or whatever, but by default it would be:

log_prefix() {
  echo $0  or nothing ""
}

Also need some way of setting the level. Will need to see what syslog and friends do.

n