`
gembler
  • 浏览: 37200 次
  • 性别: 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
分享到:
评论

相关推荐

    syslog在UNIX和Windows服务器端及客户端配置

    logger -t authpriv.notice "Hello, this is a test log." ``` #### 三、在Windows环境下的Syslog配置 1. **安装与配置syslog服务**: - Windows系统本身并不内置syslog服务,但可以通过第三方工具如`evtsys`...

    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 ...

    AndroidLogger

    执行shell命令的能力进一步增强了AndroidLogger的实用性。开发者可以直接在插件内运行adb命令,如安装应用、重启设备或执行自定义脚本,使得一些常规的设备管理操作变得更加方便快捷。 至于压缩包内的文件,"help....

    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脚本

    3. **日志记录**: 在脚本中使用`echo`输出重要信息,或使用`logger`命令将日志发送到syslog。 4. **调试工具**: `bash -n`可以进行语法检查,而`bash -v`可以在执行前显示命令。 **Shell函数** 1. **定义**: 函数...

    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 shell脚本 精华中文版

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

    shell 编程(中文)[pdf]

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

    Java私塾:Hive Shell 基本操作——深入浅出学Hive

    **Java私塾:深入浅出学Hive——Hive Shell基本操作** 在大数据处理领域,Apache Hive 是一种基于 Hadoop 的数据仓库工具,它允许用户使用 SQL 类似的查询语言(HiveQL)来管理和处理存储在 HDFS 上的大量数据。...

    AndroidLogger插件

    自动高亮日志,快捷adb命令,方便快速执行shell命令和截屏,并且shell命令可直接输出到Notepad++。还提供了一个文件管理器,可以很方便地上传下载文件。

    shell-执行故意错误

    - **日志记录**:利用`logger`或直接将错误信息写入日志文件,便于后期分析。 - **通知机制**:当错误发生时,可以通过电子邮件、消息队列、监控系统等发送告警通知。 - **恢复策略**:测试错误处理不仅包括捕获...

    绝版经典《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格式,共30章)

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

    LINUX与UNIX SHELL编程指南 高清PDF

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

    完全使用Linux shell脚本语言编写的一个简单的作业管理系统

    `trap`命令可以捕获并处理异常情况,`logger`工具用于记录系统事件。 这个简单的作业管理系统展示了Linux Shell脚本的强大功能和灵活性。通过学习和理解这个系统,用户不仅可以掌握基本的Shell编程技能,还能了解到...

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

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

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

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

    PHP logger-开源

    PHP logger 的设计允许它在不同的运行环境之间切换,无论是直接在命令行(Shell)执行还是作为Web应用程序的一部分,都能有效地工作。 PHP logger 提供了消息类和阈值支持,这意味着你可以设置不同级别的日志消息,...

    shell脚本配置管理

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

Global site tag (gtag.js) - Google Analytics