位置: 编程技术 - 正文

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脚本输入)

  • 运输发票税率6%和3%区别在哪
  • 企业所得税属于地方税吗
  • 企业购进固定资产
  • 二手房缴纳个税是买方缴还是卖方缴?
  • 文化事业建设费减免政策
  • 个体经营所得税核定征收2023标准
  • 股权转让产生的印花税
  • 资产负债表的货币资金根据什么填
  • 应收账款周转率正常值范围
  • 坏账计提坏账准备
  • 贷款利息不能抵扣进项税
  • 季报利润表本期数
  • 现金流量表中购建固定资产怎么计算
  • 增值税需要结转到本年利润吗
  • 未投入使用的道路
  • 营改增前未完工的老项目可以开专票吗
  • 如何设置采购入库的对方科目暂估科目
  • 企业所得税跨期费用的相关规定
  • 与其他企业联营算投资吗
  • 企业计提长期借款的利息
  • 扶持资金属于政府补助吗
  • 股票印花税怎么交
  • 不是房屋产权人可以卖房吗
  • 一般企业的会计原始凭证有哪些类型
  • 固定资产清理会计处理例题
  • 利润表季度报表
  • 怎么用红字信息表开红字发票
  • 退税需要怎么操作
  • 不征税收入有哪些条件
  • PHP:ftp_nb_put()的用法_FTP函数
  • 免抵退税如何进账
  • 收入成本科目
  • 广电默认网关是多少
  • 苹果a1530是什么
  • php输出流
  • 寓意幸福和团圆的网名
  • thinkphp自定义标签page
  • php 数组相加
  • Vue Element UI 中 el-table 树形数据 tree-props 多层级使用避坑
  • 工程实践指的是
  • pythonjson文件存储
  • 企业转租电费发票
  • thinkphp框架怎么用
  • 无法支付其他应用怎么办
  • 支票小写金额前的羊
  • 银行罚息是财务收入吗
  • 什么叫做关税完税证明呢
  • 帝国cms8.0
  • 织梦如何使用
  • mongodb 入门
  • 一般纳税人接受的下列服务中不得抵扣进项税额的有
  • 公司用车租赁
  • 跨年租金如何处理
  • 速动比率和流动比率怎么分析
  • 税控盘反写是不是说明税都已经成功申报了
  • 承兑汇票的贴息怎么算
  • 权益性无形资产包括哪些?
  • 基本生产成本和生产成本
  • 收到上年度企业所得税退税怎么做账
  • 账簿按形式分几种
  • MySQL slave_net_timeout参数解决的一个集群问题案例
  • sqlyog语句
  • windows7开机黑屏安全模式也进不去
  • mac怎么修改图片格式jpg
  • exeploer.exe
  • regsvc32.exe - regsvc32是什么进程 有什么用
  • win8开机启动项
  • 电脑ie8浏览器
  • ExtJS4 组件化编程,动态加载,面向对象,Direct
  • jquery 控制暂停和播放
  • unity射击游戏完整案例
  • javascript概述及作用
  • jquery日期控件onchange事件
  • 安卓开发主要做什么
  • 代收代付税务条件
  • 车船税缴费电子凭证
  • 办理跨区域事项报验
  • 企业少缴社保怎么补偿
  • 税务宣传标语2021
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设