位置: 编程技术 - 正文

shell脚本实现分日志级别输出的方法(shell脚本-ge)

编辑:rootadmin

推荐整理分享shell脚本实现分日志级别输出的方法(shell脚本-ge),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell脚本-ge,shell脚本一百例,shell脚本实现分段函数的输出,shell脚本分割,shell脚本实现分段函数的输出,shell脚本实现分段函数的输出,shell脚本中的分号,shell脚本实现分段函数的输出,内容如对您有帮助,希望把文章链接给更多的朋友!

shell脚本如何优雅的记录日志信息,下面让我们一步一步,让shell脚本的日志也变得高端起来,实现如下功能

①设定日志级别,实现可以输出不同级别的日志信息,方便调试

②日志格式类似为:[日志级别] 时间 funcname:函数名 [lineno:行号] 日志信息

③不同级别,设定不同颜色

④让其变为函数库文件,重用代码

下面看看我用shell记录日志的进化之路

1.最简单的日志记录方式

对于刚入门的同学,记录日志一般用echo加重定向方式,这应该是最原始的方式了^_^

echo "log message" > file

2.简单函数封装,简化重复写重定向到日志文件

shell脚本实现分日志级别输出的方法(shell脚本-ge)

当你想记录的日志变多,你得重复的写echo “”>$logfile,这也是件挺麻烦的事情,于是我就写了个log函数,这样修改的时候也比较方便。

3.实现日志的级别不同颜色输出

某天使用某脚本的时候,报错了确没发现,于是就想将报错信息用不同颜色字体,这样会稍微友好一点,请看下面函数

4.实现设定日志级别,输出不同级别以上的日志,方便调试

学了Python的日志模块后,想着如何像python那样,可以设定日志级别,比如设定debug,那么只有debug级别以上的日志会输出,而且日志的格式也支持定义,常见格式 如下:[日志级别] 时间 funcname:函数名 [lineno:行号] 日志信息

请看如下的log函数:大家可以将log函数放到一个单独文件,称为函数库文件,然后写脚本的时候,通过source或 . 命令引入,就想python的导入模块一样,重用log的代码

输出如下:

在写这个函数的遇到一个问题就是不能用内建变量$LINENO来取得调用的行号,只能取得log函数中定义$LINENO那一行,搜了许久找到的解决办法是利用caller命令,关于caller命令的用法,如下:

5.caller的用法

caller命令放到函数中, 将会在stdout上打印出函数的调用者信息.,caller命令也可以在一个被source的脚本中返回调用者信息. 当然这个调用者就是source这个脚本的脚本. 就像函数一样, 这是一个”子例程调用”.你会发现这个命令在调试的时候特别有用.

以上这篇shell脚本实现分日志级别输出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

Linux shell脚本输出日志笔记整理(必看篇) 1、日志方法简介:#日志名称log="./upgrade.log"#操作日志存放路径fsize=#如果日志大小超过上限,则保存旧日志,重新生成日志文件exec2$log#如果执行过

详解Linux 中五个重启命令 一、Linux的五个重启命令1、shutdown2、poweroff3、init4、reboot5、halt二、五个重启命令的具体说明shutdownreboot在linux下一些常用的关机/重启命令有shutdown、halt

完美解决ntp的错误问题no server suitable for synchronization fo 当用ntpdate-d来查询时会发现导致noserversuitableforsynchronizationfound的错误的信息有以下2个:错误1.Serverdropped:Stratatoohigh在ntp客户端运行ntpdateserverIP,出现noser

标签: shell脚本-ge

本文链接地址:https://www.jiuchutong.com/biancheng/374640.html 转载请保留说明!

上一篇:shell将脚本输出结果记录到日志文件的实现(shell 输出)

下一篇:Linux shell脚本输出日志笔记整理(必看篇)(shell脚本输入)

  • 一般纳税人的申报方式
  • 应交税费是什么类
  • 解除劳动合同支付违约金合法吗
  • 结转和结转到的区别
  • 小规模定额征收是怎样
  • 微信公众号认证费用
  • 怎么样办理银行卡?
  • 交易性金融资产借贷方向
  • 临时营业执照有效期多久
  • 职工福利费食堂买菜小票可以报销吗
  • 营改增医院增值税
  • 现金日记账年结模板
  • 预收账款核算内容是什么
  • 个体户进货需要成本票吗
  • 超市开发票要交百分之几的税?
  • 普通硅酸盐水泥和矿渣硅酸盐水泥的区别
  • 物业公司营改增税务筹划方案
  • 分支机构享受了税收优惠,是由总机构备案还是分支机构备案?
  • 小微企业季度所得税怎么计算
  • 融资租入的固定资产视为承租企业的资产体现了什么原则
  • 亏损合同如何处理
  • 个体工商户要交附加税吗
  • 小规模纳税人增值税免征额
  • 盈余积累转增股本的个税问题
  • 企业收到保险公司的赔款
  • 腾讯电脑管家中蓝牙在哪
  • mac压盘
  • 远程桌面连接失败了
  • PHP:imagecolorat()的用法_GD库图像处理函数
  • 都有哪些收据可以抵税
  • 增值税发票超额后税率
  • javascript postmessage
  • 增值税待认证进项税额
  • 滴滴发票开公司名称可以抵扣进项吗
  • 专票抵扣联可以盖两个章吗
  • 什么叫同比什么叫环比
  • 深度学习中的FPN详解
  • 利用python实现Apriori关联规则算法
  • 一个简单安全的小故事
  • 记载资金的账簿
  • 刚成立的新公司怎么报税
  • 客运公司做账怎么做
  • 收到股利的会计分录
  • python中的pandas
  • php定义变量的方法
  • 帝国cms模型
  • 出口退税转内销的损失
  • 房东减免后二房东不减房租
  • 结转和结算
  • 开出去的发票没有进项发票应如何核算成本?
  • 房屋拆除的会计分录
  • 多交了社保
  • 固定资产更新改造被替换的旧部件残值收入
  • 无票收入如何做凭证
  • 计提工会经费的会计分录
  • 收不回来的应收账款
  • 某个项目投资多少钱怎么算
  • 房地产开发票的时间?
  • a公司刚刚执行了一个采购项目
  • 怎么设置账簿
  • mysql优化配置文件
  • sql优化常用的15种方法
  • sql复合语句
  • mac快速关闭所有窗口
  • 使用组策略可控制什么
  • linux系统ln命令
  • web软件安装
  • win7提示计算机内存不足
  • 3ds怎么用3ds格式
  • opengl函数
  • shell脚本语言入门
  • 批处理语言 从入门到精通
  • Quick cocos2dx-Lua(V3.3R1)学习笔记(十三)-----继续触摸事件之多点触摸
  • css中层叠的含义
  • django forloop
  • Android Build.prop
  • JavaScript中getUTCSeconds()方法的使用详解
  • 正确的解决方式
  • 简易计税项目能即开简易税率发票又开适用税率发票吗
  • 福建地税网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设