Last active
June 23, 2016 04:27
-
-
Save likai24/ff5a4a9d3e34da414d2a76e9ea4f1156 to your computer and use it in GitHub Desktop.
一个用来打印日志输出的脚本
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# | |
# This is to print nice logs | |
# | |
# @version : 0.0.1 | |
# | |
# | |
############################################# | |
# Environment variables and their defaults | |
LOG_LEVEL="${LOG_LEVEL:-6}" # 7 = debug -> 0 = emergency | |
function _fmt () { | |
local color_ok="\x1b[32m" | |
local color_bad="\x1b[31m" | |
local color="${color_bad}" | |
if [ "${1}" = "debug" ] || [ "${1}" = "info" ] || [ "${1}" = "notice" ]; then | |
color="${color_ok}" | |
fi | |
local color_reset="\x1b[0m" | |
if [[ "${TERM}" != "xterm"* ]] || [ -t 1 ]; then | |
# Don't use colors on pipes or non-recognized terminals | |
color=""; color_reset="" | |
fi | |
echo -e "$(date -u +"%Y-%m-%d %H:%M:%S UTC") ${color}$(printf "[%1s]" ${1})${color_reset}"; | |
} | |
function emergency () { echo "$(_fmt emergency) ${@}" 1>&2 || true; exit 1; } | |
function alert () { [ "${LOG_LEVEL}" -ge 1 ] && echo "$(_fmt alert) ${@}" 1>&2 || true; } | |
function critical () { [ "${LOG_LEVEL}" -ge 2 ] && echo "$(_fmt critical) ${@}" 1>&2 || true; } | |
function error () { [ "${LOG_LEVEL}" -ge 3 ] && echo "$(_fmt error) ${@}" 1>&2 || true; } | |
function warning () { [ "${LOG_LEVEL}" -ge 4 ] && echo "$(_fmt warning) ${@}" 1>&2 || true; } | |
function notice () { [ "${LOG_LEVEL}" -ge 5 ] && echo "$(_fmt notice) ${@}" 1>&2 || true; } | |
function info () { [ "${LOG_LEVEL}" -ge 6 ] && echo "$(_fmt info) ${@}" 1>&2 || true; } | |
function debug () { [ "${LOG_LEVEL}" -ge 7 ] && echo "$(_fmt debug) ${@}" 1>&2 || true; } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment