linux shell 日志函数

2023-10-29

各位运维的兄弟们,你们输出的日志有没有标识呢,标识有没有颜色变化呢???打开日志文件,大片大片的文字,头晕脑胀,很难一眼发现哪些是报错信息,哪些是正常输出的信息,怎么办?这便是大家今天看到这篇文章的原因了,接下来我们来看看具体的实现吧。

#!/bin/bash

function log() {
    level=$1
    content=$2
    curtime=$(date "+[%Y-%m-%d %H:%M:%S]")

    #  31m==红色;    32m==绿色;     33m==黄色;      34m==蓝色;
    case "$level" in
    debug)
        echo -e "${curtime}\033[32m[${level}]\033[0m ${content}"
        ;;
    info)
        echo -e "${curtime}\033[32m[${level}]\033[0m ${content}"
        ;;
    warning)
        echo -e "${curtime}\033[33m[${level}]\033[0m ${content}"
        ;;
    error)
        echo -e "${curtime}\033[31m[${level}]\033[0m ${content}"
        ;;
    *)
        echo -e "${curtime}\033[34m[${level}]\033[0m ${content}"
        ;;
    esac

}

log debug "这是一个debug信息"
log info "这是一个info信息"
log warning "这是一个warning信息"
log error "这是一个error信息"
log unkown "这是一个unkown信息"

运行效果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux shell 日志函数 的相关文章

  • 用另一个文件的标签为图表(ggplot2)中的标题添加下标

    在我的程序中 我有两个主要文件 第一个包含数据 第二个包含标签 或图形标题 文件总数1 数据 3 10000 3 32039232 1 0 0017290351 2 0 0002781092 3 10001 3 32101193 1 0 0
  • 确定 TCP Listen() 队列中当前积压的连接数

    有没有办法找出currentLinux 上 TCP 套接字上等待 Accept 的连接尝试次数 我想我可以在每个事件循环上点击 EWOULDBLOCK 之前计算成功的 Accept 数量 但我使用的是隐藏这些细节的高级库 Python Tw
  • Xvfb 冻结初始化 GLX 扩展

    我正在尝试运行无头 Xvfb 服务器来捕获 Amazon EC2 micro 上的屏幕截图 但它在 GLX 上陷入了困境 我使用此脚本安装了 GLX Xvfb 和所有库 https gist github com joekiller 414
  • 如何从脚本编辑 /etc/sudoers?

    我需要编辑 etc sudoers从脚本中添加 删除白名单中的内容 假设我有一个可以处理普通文件的命令 我如何将其应用到 etc sudoers 我可以复制并修改它 然后有visudo用修改后的副本替换原始版本 通过提供我自己的脚本 EDI
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • Linux中如何避免sleep调用因信号而中断?

    我在 Linux 中使用实时信号来通知串行端口中新数据的到达 不幸的是 这会导致睡眠呼叫在有信号时被中断 有人知道避免这种行为的方法吗 我尝试使用常规信号 SIGUSR1 但我不断得到相同的行为 来自 nanosleep 联机帮助页 nan
  • 使用 ioctl 在 C++ 中以编程方式添加路由

    我编写了简单的 C 函数 添加了新路线 void addRoute int fd socket PF INET SOCK DGRAM IPPROTO IP struct rtentry route memset route 0 sizeof
  • Bash:将字符串添加到文件末尾而不换行

    如何将字符串添加到文件末尾而不换行 例如 如果我使用 gt gt 它将添加到文件末尾并换行 cat list txt yourText1 root host 37 echo yourText2 gt gt list txt root hos
  • Python glob,操作系统,相对路径,将文件名放入列表中[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个目录中所有文件的列表 其中文件名以 root 结尾 在阅读了论坛中的一些文章后 我尝试使用 glob 和 os listdir 的基本策略 但我都遇到了麻烦 首先 当我使用 import glo
  • Ruby:在 Ubuntu 上安装 rmagick

    我正在尝试在 Ubuntu 10 04 上安装 RMagick 看起来here https stackoverflow com questions 1482823 is there an easy way to install rmagic
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 嵌入清单文件以要求具有 mingw32 的管理员执行级别

    我正在 ubuntu 下使用 i586 mingw32msvc 交叉编译应用程序 我很难理解如何嵌入清单文件以要求 mingw32 具有管理员执行级别 对于我的例子 我使用了这个hello c int main return 0 这个资源文
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终

随机推荐

  • 联合体的特点及其大小的计算

    上篇博客 笔者详细的介绍了联合的的使用方法 所以 笔者在这篇文章打算进行 联合体的特点及其大小的计算的讲述 联合体的特点 联合体的成员是共用一块内存空间的 这样一个联合体变量的大小 至少是最大的成员的大小 因为联合体至少得有能力保存最大的那
  • QT框架总结

    一 QT介绍 1 什么是QT 跨平台C 图形用户界面应用程序开发框架 1 跨平台 支持各种的操作系统 windows Linux MAC 2 编程语言 C 面向对象编程 类 3 应用程序开发框架 图形用户界面 GUI应用程序 非GUI的应用
  • oracle nvl sign,oracle decode函数和 sign函数

    流程控制函数 DECODE decode 函数简介 主要作用 将查询结果翻译成其他值 即以其他形式表现出来 以下举例说明 使用方法 Select decode columnname 值1 翻译值1 值2 翻译值2 值n 翻译值n 缺省值 F
  • 分享一个基于vue的环形菜单组件

    vue quick menu是一个应用于移动端的快速导航组件 它拥有炫酷的展开和收起时的动画效果 它支持自定义菜单的显示位置 菜单的数量 颜色等属性 demo 安装 通过NPM安装 npm install vue quick menu sa
  • 解决不能启动redhat 9的图形界面的办法

    故障现象 我才装了几天的linux就进不去linux的图形界面了 我用的是redhat9 希望大虾们帮帮我 在这里说声谢谢了 我把出错的提示给出来 我可以进去命令行界面 当我打入startx命令的时候 画面就变得很花 我以前是可以进的 然后
  • 出学校干了 5 年外包,已经废了

    如果不是女朋友和我提分手 我估计现在还没醒悟 本科大专 17年通过校招进入某软件公司做测试 干了接近5年的功能 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了五年的点点点 每天的重复操作
  • KiCad 5 版本体验记录

    文章目录 KiCad 5 0版本 改动内容记录 BUG记录 KiCad 5 0版本 KiCad在今年7月份的时候更新了5 0版本 作为大版本的更新 相比上一个版本4 0 7来说还是有蛮多变动的 具体的变化可以自己体验或是查看官方的更新说明
  • 文件和流操作相关基础函数

    1 wsprintf LPTSTR lpOut LPCTSTR lpFmt 其他可选参数 wsprintf函数能够将一组字符序列按lpFmt参数指定的格式转换 然后保存在lpOut参数指定的字符缓冲区中等待输出 如果要用wprintf输出U
  • 【Java】有这样一个数组,元素是{68,27,95,88,171,996,51,210}.求出该数组中满足要求的元素和。 要求是:求和的元素个位和十位都不能是7,并且只能是偶数

    public class Test03 public static void main String args int arr 68 27 95 88 171 996 51 210 int sum 0 for int x 0 x lt ar
  • 通过Socket通信理解TCP机制

    通过Socket通信理解TCP 1 什么是TCP协议 TCP是一种面向连接的 可靠的 基于字节流的传输层通信协议 即客户端和服务器之间在交换数据之前会先建立一个TCP连接 才能相互传输数据 并且提供超时重发 丢弃重复数据 检验数据 流量控制
  • 图片服务器项目测试用例

    单元测试 这里只对imageDAO层进行了单元测试 public class ImageDAOTest Test public void queryCountByMd5 ImageDAO imageDAO new ImageDAO int
  • 机械加工行业MES系统项目实施8大步骤

    搭建好的MES系统要应用到车间制造中 服务商应对MES的推进过程做总体的规划 通过数字化车间的建设 解决企业车间信息化系统与生产流程的融合问题 机械加工企业根据 总体规划 分步实施 以点带面 整体推进 的原则 首先在某个车间生产线上进行试点
  • android 实现发送短信功能

    离职五天左右 学习了一些基础理论并用于实践 也算是学到了点东西 1 实现短信的发送功能 在学习的视频里面发现了这个发送短信的功能实现 就好奇写了一个小demo 先看一下页面的效果吧 很简单的布局 两个输入框 一个按钮 看一下具体的实现效果
  • 随机产生长度不少于6位密码

    随机产生长度不少于6位 包含大写 小写 数字 特殊字符至少三种的密码 string randpass int n string res if n lt 6 cout lt lt 长度不能少于6位 lt
  • 元宇宙热潮:缘起、影响与展望

    当下科技界和产业界最热的话题非 元宇宙 莫属 2021年3月 元宇宙第一股 美国网络游戏和社交平台公司Roblox在纽约证券交易所上市 10月 美国互联网巨头Facebook更名为 元 Meta 宣告其强势进军元宇宙相关产业 由此 2021
  • H5页面跳转微信小程序

    实现H5页面跳转微信小程序有三种方式来实现 如果需求为在微信浏览器中实现跳转 则推荐使用微信官方接口 wx open launch weapp 文档点击这里 wx open launch weapp接口文档 注意 该方法只开放给已认证的服务
  • 用UGUI方式实现图片的遮罩,圆角图片,圆形图片效果

    实现图片的圆角效果 圆形图片效果 是一个很常见的功能 如下 很多人会使用shader来做 但是太麻烦了 网上关于UGUI实现这种效果的方法我也一直没有找到 我这里知道一个很简单的方法 不用写一行代码 现在我打算告诉你 原理 就是通过Mask
  • Unity3D

    使用UGUI实现一个公告板 IMGUI Immediate Mode GUI 及时模式图形界面 它是代码驱动的 UI 系统 没有图形化设计界面 只能在 OnGUI 阶段用 GUI 系列的类绘制各种 UI 元素 因此 UI元素只能浮在游戏界面
  • 《JavaScript语言精粹》笔记(内附《JavaScript语言精粹》百度云下载链接)

    章节 3 4 引用 P22 页码 知识点 对象通过引用来传递 它们永远不会被传递 var a obj a 1 var b obj a obj b obj是a obj的引用 b obj a 2 console log a obj a 2 章节
  • linux shell 日志函数

    各位运维的兄弟们 你们输出的日志有没有标识呢 标识有没有颜色变化呢 打开日志文件 大片大片的文字 头晕脑胀 很难一眼发现哪些是报错信息 哪些是正常输出的信息 怎么办 这便是大家今天看到这篇文章的原因了 接下来我们来看看具体的实现吧 bin