栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux 下 Shell Script 日志格式化

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux 下 Shell Script 日志格式化

文章目录
      • 脚本目录
      • 方法编写
      • 脚本调用
          • 直接调用
          • 嵌套调用
      • 脚本执行
      • 日志查看
          • 目录查看
          • 日志查看
      • 参考

脚本目录
[root@node1 logformat]# tree
.
├── bin
│   └── install.sh
├── exe_script
│   ├── install_111.sh
│   ├── install_elasticsearch.sh
│   ├── install_jdk.sh
│   ├── install_oracle.sh
│   └── install_zookeeper.sh
├── logs
└── tools
    └── logformat.sh

4 directories, 7 files
方法编写
[root@node1 logformat]# cat tools/logformat.sh 
#!/bin/bash

function logf()
{

	logtype=$1
	message=$2

	logdir="../logs"
	logfile=`echo $(basename $0) | awk -F '.' '{print $1}'`".log"

	case ${logtype} in
		error)
			echo -e "33[31m`date +'%F %H:%M:%S'`t[$1]t$233[0m" | tee -a ${logdir}/${logfile}
		;;

		info)
			echo -e "33[32m`date +'%F %H:%M:%S'`t[$1]t$233[0m" | tee -a ${logdir}/${logfile}
		;;

		warn)
			echo -e "33[33m`date +'%F %H:%M:%S'`t[$1]t$233[0m" | tee -a ${logdir}/${logfile}
		;;	

	esac

}
脚本调用
# 方法名(logf) 日志类别(info、warn、error) 日志信息(xxx  xxxx  xxxx)
直接调用
  • bin/install.sh
[root@node1 logformat]# cat bin/install.sh 
#!/bin/bash

source ../tools/logformat.sh


for service in jdk oracle elasticsearch zookeeper
do
	logf info "install.sh -- will install ${service}"
	sh ../exe_script/install_${service}.sh
done
嵌套调用
  • exe_script/install_jdk.sh
[root@node1 logformat]# cat exe_script/install_jdk.sh 
#!/bin/bash

source ../tools/logformat.sh

logf info "exec -- install service jdk"
  • exe_script/install_oracle.sh
[root@node1 logformat]# cat exe_script/install_oracle.sh 
#!/bin/bash

source ../tools/logformat.sh

logf info "exec -- install service oracle"
脚本执行
[root@node1 logformat]# cd bin/ && sh install.sh
2021-10-19 17:43:17	[info]	install.sh -- will install jdk
2021-10-19 17:43:17	[info]	exec -- install service jdk
2021-10-19 17:43:17	[info]	install.sh -- will install oracle
2021-10-19 17:43:17	[info]	exec -- install service oracle
2021-10-19 17:43:17	[info]	install.sh -- will install elasticsearch
2021-10-19 17:43:17	[info]	exec -- install service elasticsearch
2021-10-19 17:43:17	[info]	install.sh -- will install zookeeper
2021-10-19 17:43:17	[info]	exec -- install service zookeeper
日志查看 目录查看
[root@node1 logformat]# tree logs/
logs/
├── install_elasticsearch.log
├── install_jdk.log
├── install.log
├── install_oracle.log
└── install_zookeeper.log

0 directories, 5 files
日志查看
  • 直接调用
[root@node1 logformat]# cat logs/install.log 
2021-10-19 17:43:17	[info]	install.sh -- will install jdk
2021-10-19 17:43:17	[info]	install.sh -- will install oracle
2021-10-19 17:43:17	[info]	install.sh -- will install elasticsearch
2021-10-19 17:43:17	[info]	install.sh -- will install zookeeper
  • 嵌套调用
# install_jdk.sh
[root@node1 logformat]# cat logs/install_jdk.log 
2021-10-19 17:43:17	[info]	exec -- install service jdk

# install_oracle.sh
[root@node1 logformat]# cat logs/install_oracle.log 
2021-10-19 17:43:17	[info]	exec -- install service oracle
参考
  • The method of shell script output at different log level

  • Prefixing logs with date in shell script

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/334845.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号