sh Linux shell脚本的基本日志记录命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh Linux shell脚本的基本日志记录命令相关的知识,希望对你有一定的参考价值。

#!/bin/bash

##
## Simple logging mechanism for Bash
##
## Author: Michael Wayne Goodman <goodman.m.w@gmail.com>
## Thanks: Jul for the idea to add a datestring. See:
## http://www.goodmami.org/2011/07/simple-logging-in-bash-scripts/#comment-5854
## Thanks: @gffhcks for noting that inf() and debug() should be swapped,
##         and that critical() used $2 instead of $1
##
## License: Public domain; do as you wish
##

exec 3>&2 # logging stream (file descriptor 3) defaults to STDERR
verbosity=3 # default to show warnings
silent_lvl=0
crt_lvl=1
err_lvl=2
wrn_lvl=3
inf_lvl=4
dbg_lvl=5

notify() { log $silent_lvl "NOTE: $1"; } # Always prints
critical() { log $crt_lvl "CRITICAL: $1"; }
error() { log $err_lvl "ERROR: $1"; }
warn() { log $wrn_lvl "WARNING: $1"; }
inf() { log $inf_lvl "INFO: $1"; } # "info" is already a command
debug() { log $dbg_lvl "DEBUG: $1"; }
log() {
    if [ $verbosity -ge $1 ]; then
        datestring=`date +'%Y-%m-%d %H:%M:%S'`
        # Expand escaped characters, wrap at 70 chars, indent wrapped lines
        echo -e "$datestring $2" | fold -w70 -s | sed '2~1s/^/  /' >&3
    fi
}

以上是关于sh Linux shell脚本的基本日志记录命令的主要内容,如果未能解决你的问题,请参考以下文章

如何将一shell脚本中的每一步命令执行结果输出到指定日志文件中

如何把shell 命令执行的结果放到指定的日志文件中? 例如ant,sh命令

如何执行shell脚本其中一条命令

怎么用一个命令使多个shell脚本并行执行? 例如三个脚本 run1.sh,run2.sh

怎么使用shell命令(非shell脚本)筛选出日志信息为error的数量,并以数量从大到小排列。

Linux学习记录:Shell脚本