`
gembler
  • 浏览: 36488 次
  • 性别: Icon_minigender_1
  • 来自: 妖都
社区版块
存档分类
最新评论

Shell Logger

阅读更多
#!/bin/sh

## created by gembler.
##--------------------##
## initialize logger. ##
##--------------------##

usage()
{
    echo "Usage: $0 {--log-level|--log-file}"
    exit 1
}

[ $# -gt 0 ] || usage

RESOLVED=
resolve_arg(){
    RESOLVED=`expr "X$1" : '[^=]*=\(.*\)'`
}

#[ off => 0 ],[ error => 1 ],[ info => 2 ],[ debug => 3 ]
LOG_LEVEL_OFF=0
LOG_LEVEL_ERROR=1
LOG_LEVEL_INFO=2
LOG_LEVEL_DEBUG=3
LOG_LEVEL=$LOG_LEVEL_INFO
LOG_FILE=
print_log_msg(){
    if [ "x$LOG_FILE" == "x" ]; then
        echo "[`date +'%Y-%m-%d %R:%S'`]$*"
    else
        echo "[`date +'%Y-%m-%d %R:%S'`]$*" >> $LOG_FILE
    fi
}
debug() {
    if [ $LOG_LEVEL -ge 3 ]; then
        print_log_msg "<DEBUG> $*"
    fi
}
info() {
    if [ $LOG_LEVEL -ge 2 ]; then
        print_log_msg "<IN FO> $*"
    fi
}
error() {
    if [ $LOG_LEVEL -ge 1 ]; then
        print_log_msg "<ERROR> $*"
    fi
}

for ac_option in $* ; do
    resolve_arg $ac_option
    case $ac_option in
        --log-level=*)
            case $RESOLVED in
                debug)
                    LOG_LEVEL=$LOG_LEVEL_DEBUG
                ;;
                info)
                    LOG_LEVEL=$LOG_LEVEL_INFO
                ;;
                error)
                    LOG_LEVEL=$LOG_LEVEL_ERROR
                ;;
                off)
                    LOG_LEVEL=$LOG_LEVEL_OFF
                ;;
                *)
                    LOG_LEVEL=$LOG_LEVEL_INFO
                ;;
            esac
        ;;
        --log-file=*)
            resolve_arg $ac_option
            LOG_FILE=$RESOLVED
        ;;
        *)
            usage
        ;;
    esac
done
分享到:
评论

相关推荐

    AndroidLogger V1.1.1

    1. Push AndroidLogger.dll under "plugins" directory of Notepad++ 2. Push AndroidLogger.xml under "plugins\Config" directory of Notepad++ [Features] 1. Support lexer fot APP & RADIO Log, and ...

    shell 编程指南pdf

    初学shell 入门好书!!!! 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...

    LINUX与UNIX SHELL编程指南(很全)

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

    Linux shell脚本 精华中文版

    026_创建以日期命名的文件和临时文件_信号_trap命令以及如何捕获信号_eval命令_logger命令.pdf 027_脚本例子_pingall_backup_gen_del.lines_acces_deny_logroll_nfsdown.pdf 028_rcN.d_运行级别脚本编辑.pdf 029...

    AndroidLogger

    Notepad++插件,可以高亮Android LOG,可以实时抓LOG,可以抓图片,可以执行shell命令

    shell 编程(中文)[pdf]

    026_创建以日期命名的文件和临时文件_信号_trap命令以及如何捕获信号_eval命令_logger命令.pdf 027_脚本例子_pingall_backup_gen_del.lines_acces_deny_logroll_nfsdown.pdf 028_rcN.d_运行级别脚本编辑.pdf 029_cgi...

    绝版经典《Linux与UNIX Shell编程指南》

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...

    LINUX与UNIX SHELL编程指南 高清PDF

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    kernel-logger::memo:可以替代记录器或日志包装器的内核模块

    您会发现在shell脚本中一次又一次键入logger很烦人的。 为什么不kmsg或logger kmsg无法添加标签 logger需要一个后端 快速开始 编译并加载该模块 make sudo insmod logger.ko 运行一个shell命令来测试它 vagrant@...

    shell脚本配置管理

    添加删除如下格式的配置文件,在软件打包时用起来挺方便的 [engine] bin_name = /opt/ifly/istt.so [logger]

    linux shell 编程教程

    linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...

    Logger:Android增强的Android记录器

    在运行时打开/关闭日志消息输出(使用adb shell setprop log.tag.YOUR_TAG DEBUG )。 与集成。 使用这些功能, Logger可以帮助您更轻松地调试应用程序。 Gradle dependencies { implementation '...

    node-shell:一个简单的 shell 命令运行器,具有 Promise 支持

    // Optionally set a logger. Shell . setLogger ( console . log ) ; // Execute the shell command. Shell . exec &#40; 'ls' , [ ] , { cwd : __dirname } &#41; . then ( function ( result ) { console . ...

    AndroidLogger:更高版本的Notepad ++ 6.5的AndroidLogger插件!-开源

    -&gt; shell cmd行必须以'&gt;'开头并在文档顶部。 -&gt;带有“#”的行是注释。 -&gt;允许空行。 -&gt;免费使用logcat,top和grep,tcpdump。 4.支持捕获设备的屏幕截图,现在只需保存在d:\ device.bmp。5.支持Filer,您的设备不...

    Linux shell编程指南

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    shell编程和unix命令

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    LINUX 与 UNIX SHELL编程指南

    2.1.13 使用 exec 或 ok 来执行 shell 命令 19 2.1.14 find 命令的例子 20 2.2 xargs 20 2.3 小结 21 第 3 章 后台执行命令 22 3.1 cron 和 crontab 22 3.1.1 crontab 的域 22 3.1.2 crontab 条目举例 23 ...

Global site tag (gtag.js) - Google Analytics