广告位联系
返回顶部
分享到

shell脚本设置日志格式的方法

linux shell 来源:互联网 作者:佚名 发布时间:2022-10-13 20:48:37 人浏览
摘要

shell脚本设置日志格式 1.封装函数 #!/bin/bash function log() { echo $@ } //测试: log this is a test... log today is `date +%Y-%m-%d` 2.设置时间日志 #!/bin/bash function log() { echo $(date +%Y-%m-%d %H:%M:%S) $@ } log t

shell脚本设置日志格式

1.封装函数
#!/bin/bash
 
function log()
{
   echo "$@"
}
//测试:
log "this is a test..."
log "today is `date '+%Y-%m-%d'` "
2.设置时间日志
#!/bin/bash
 
function log()
{
   echo "$(date '+%Y-%m-%d %H:%M:%S') $@"
}
 
log "this is a test..."
3.设置日志级别,并输出对应日志
#!/bin/bash
 
#日志级别 debug-1, info-2, warn-3, error-4, always-5
LOG_LEVEL=3
 
#调试日志
function log_debug(){
  content="[DEBUG] $(date '+%Y-%m-%d %H:%M:%S') $@"
  [ $LOG_LEVEL -le 1  ] && echo -e "\033[32m"  ${content}  "\033[0m"
}
#信息日志
function log_info(){
  content="[INFO] $(date '+%Y-%m-%d %H:%M:%S') $@"
  [ $LOG_LEVEL -le 2  ] && echo -e "\033[32m"  ${content} "\033[0m"
}
#警告日志
function log_warn(){
  content="[WARN] $(date '+%Y-%m-%d %H:%M:%S') $@"
  [ $LOG_LEVEL -le 3  ] && echo -e "\033[33m" ${content} "\033[0m"
}
#错误日志
function log_err(){
  content="[ERROR] $(date '+%Y-%m-%d %H:%M:%S') $@"
  [ $LOG_LEVEL -le 4  ] && echo -e "\033[31m" ${content} "\033[0m"
}
#一直都会打印的日志
function log_always(){
   content="[ALWAYS] $(date '+%Y-%m-%d %H:%M:%S') $@"
   [ $LOG_LEVEL -le 5  ] && echo -e  "\033[32m" ${content} "\033[0m"
}
4.日志写入文件
#日志文件
LOG_FILE=./log.txt
function log(){
    content="$(date '+%Y-%m-%d %H:%M:%S') $@"
    echo $content >> $LOG_FILE
}

shell脚本输出格式化日志信息

#!/bin/bash

#${FUNCNAME[1]代表调用该函数的函数,$LINENO代表当前代码行号
Log(){
    local log_level=$1
    local log_info=$2
    local line=$3
    local script_name=$(basename $0)

    case ${log_level} in
    "INFO")
        echo -e "\033[32m$(date "+%Y-%m-%d %T.%N") [INFO]: ${log_info}\033[0m";;
    "WARN")
        echo -e "\033[33m$(date "+%Y-%m-%d %T.%N") [WARN]: ${log_info}\033[0m";;
    "ERROR")
        echo -e "\033[31m$(date "+%Y-%m-%d %T.%N") [ERROR ${script_name} ${FUNCNAME[1]}:$line]: ${log_info}\033[0m";;
    *)
        echo -e "${@}"
    ;;
    esac
}

Log INFO "Install Success"
Log WARN "You Can Ignore"
Log ERROR "Invalid Param" $LINENO

 


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://www.cnblogs.com/Leonardo-li/p/16784868.html
相关文章
  • shell循环命令的介绍
    1. for 命令 1.1 for 命令的使用 bash shell 提供了for命令,可以创建一个遍历一系列值的循环。每次一轮循环都使用其中一个值来执行已定义好的
  • shell脚本设置日志格式的方法
    shell脚本设置日志格式 1.封装函数 #!/bin/bash function log() { echo $@ } //测试: log this is a test... log today is `date +%Y-%m-%d` 2.设置时间日志 #!/bin/bash
  • linux下shell脚本备份文件的方法实现
    1、shell自动备份 主要功能: 1)将pathSrc目录中的文件拷贝到pathDst目录中去。 具体步骤:先查询源目录和目标目录中的文件,分别存在file
  • shell脚本实现定时删除文件或文件夹
    一、删除XX天(默认10天)之前某个目录下面带.log的日志文件,并且输出文件显示删除的文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
  • shell脚本批量将文件复制到指定的文件夹下

    shell脚本批量将文件复制到指定的文件夹下
    由于线上文件比较多,选择特定的文件拿下线下进行语料标注,如果指定的文件数量太多,一个个复制就很麻烦。所以写一个shell脚本进行批
  • 在shell脚本中激活conda虚拟环境的几种方法

    在shell脚本中激活conda虚拟环境的几种方法
    在shell脚本中激活conda虚拟环境 常用命令行激活conda的env的命令有2种: 1 2 conda activate ENV_NAME source /home/zhaohuiyao/minconda3/bin/activate ENV_NAME 但是
  • Shell内置命令之exit的语法与实例
    介绍: exit 用于退出当前shell环境进程结束运行,并且可以返回一个状态码.一般使用$?可以获取状态码. 语法: 正确退出语法 exit #默认返回状态
  • shell中的curl网络请求的实现介绍
    shell中的curl网络请求的实现 curl 是利用URL语法在命令行下工作的文件传输工具,1997年首次发行,支持文件上传和下载,结合shell脚本体验更
  • 使用shell脚本循环处理文本的问题

    使用shell脚本循环处理文本的问题
    公司是使用puppet来进行配置管理, 某天修改完puppet后领导回复: 我们有一个文档cabinet.txt记录了物理机器所在的机柜, 除了文档里的其他机器都
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计